The PayPal PayIn object

Description

The PayPal PayIn object allows platforms to process payments made via PayPal.

Note – Prerequisites to using PayPal

Using PayPal (including Sandbox testing) requires approval and activation from PayPal.

Attributes

Id
string

The unique identifier of the object.

Tag
string

Max. length: 255 characters
Custom data that you can add to this object.
For transactions (pay-in, transfer, payout), you can use this parameter to identify corresponding information regarding the user, transaction, or payment methods on your platform.

CreationDate
Unix timestamp

The date and time at which the object was created.

AuthorId
stringRequired

The unique identifier of the user at the source of the transaction.
Best practice: When the payout author is different from the bank account owner, the Payout AuthorId value must be different from the Bank Account UserId value as well. Otherwise, Mangopay’s Compliance team will reject the payout.

DebitedFunds
object

Default value: The amount and currency values of the debited funds of the initial transaction.

Required if the Fees parameter is included in the call.

Information about the debited funds. Debited funds:

  • Takes by default the amount and currency values of the initial transaction when left empty.
  • Must be entered manually to perform a partial refund.
  • Cannot exceed the initial transaction CreditedFunds value when entered manually. This also applies to the sum of debited funds when making multiple partial refunds.
Amount
integerRequired

An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as 1260 whereas JPY 12 would be represented as just 12).

Currency
stringRequired

Allowed values: The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings).

The currency of the debited funds.

CreditedFunds
object

Information about the credited funds (CreditedFunds = DebitedFunds - Fees).

Currency
stringRequired

Allowed values: The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings).

The currency of the credited funds.

Amount
integerRequired

An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as 1260 whereas JPY 12 would be represented as just 12).

Fees
object

Default value: The amount and currency values of the fees of the initial transaction.

Required if the DebitedFunds parameter is included in the call.

Information about the fees. This value:

  • Should be preceded by a minus sign (-) to refund the fees, otherwise more fees will be taken.
  • Takes by default the amount and currency values of the fees of the initial transaction when left empty (preceded by a -).
  • Cannot exceed the initial transaction fees amount when entered manually. This also applies to the sum of the amount of the fees when making multiple partial refunds.
Amount
integerRequired

An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as 1260 whereas JPY 12 would be represented as just 12).

Currency
stringRequired

Allowed values: The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings).

The currency of the debited funds.

Status
string

Returned values: CREATED, SUCCEEDED, FAILED

The status of the transaction.

ResultCode
string

The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.

ResultMessage
string

The explanation of the result code.

ExecutionDate
Unix timestamp

The date and time at which the status changed to SUCCEEDED, indicating that the transaction occurred. The statuses CREATED and FAILED return an ExecutionDate of null.

Type
string

Returned values: PAYIN, TRANSFER, CONVERSION, PAYOUT

The type of the transaction.

Nature
array

Allowed values: REGULAR, REPUDIATION, REFUND, SETTLEMENT

The transaction natures to be taken into account.

  • REGULAR – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow.
  • REPUDIATION – Automatic withdrawal of funds from the platform’s repudiation wallet as part of the dispute process (when the user has requested a chargeback).
  • REFUND – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay).
  • SETTLEMENT – Transfer made to the repudiation wallet by the platform to settle a lost dispute.
CreditedWalletId
stringRequired

The unique identifier of the credited wallet (in the buy currency).

PaymentType
string

Returned values: PAYPAL

The type of pay-in.

ExecutionType
string

Returned values: WEB, DIRECT, EXTERNAL_INSTRUCTION

The type of execution for the pay-in.

ReturnURL
stringRequired

Max. length: 255 characters
The URL to which the user is automatically returned after indicating that they have noted their Multibanco payment reference.

RedirectURL
string

The URL to which to redirect the user to complete the payment.

Caution: This variable URL is specific to each payment. You must rely on the returned URL in full (host, path, and queries) and not hardcode any part of it.

StatementDescriptor
string

Max. length: 10 characters; only alphanumeric and spaces
Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the Customizing bank statement references article for details.

Shipping
object

Default value: FirstName, LastName, and Address information of the Billing object, if supplied, otherwise of the user (author).

Information about the end user’s shipping address. If left empty, the default values will be automatically taken into account.

FirstName
string

The first name of the user.

LastName
string

Max. length: 100 characters
The last name of the user.

Address
objectRequired

Information about the shipping address.

AddressLine1
stringRequired

Max. length: 255 characters The first line of the address.

AddressLine2
string

Max. length: 255 characters
The second line of the address.

City
stringRequired

Max. length: 255 characters The city of the address.

Region
string

Max. length: 255 characters
Required if Country is US, CA, or MX.

The region of the address.

PostalCode
stringRequired

Max. length: 255 characters The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.

Country
stringRequired

Format: Two-letter country code (ISO 3166-1 alpha-2 format)

The country of the address.

LineItems
arrayRequired

object
Information about the items purchased in the transaction. The total of all line items’ UnitAmount and TaxAmount must equal the DebitedFunds amount (negative amounts not allowed).

Name
stringRequired

Max. length: 127 characters (truncated after)
The name of the item.

Quantity
integerRequired

The quantity of the item.

UnitAmount
integerRequired

The cost of the item, excluding tax.

TaxAmount
integer

The tax amount applied to the item.

Description
stringRequired

Max. length: 127 characters (truncated after)
The platform’s unique reference for the seller. This value must be consistently used for the given seller. You can use, for example, the Mangopay UserId or the seller’s business name or first name and last name.
Caution: Failure to use a unique seller identifier may result in PayPal restricting your service.

string

Allowed values: PHYSICAL_GOODS, DIGITAL_GOODS, DONATION

The category of the item:

  • PHYSICAL_GOODS – Tangible items that can be physically shipped and received with proof of delivery upon arrival.
  • DIGITAL_GOODS – Products or services that are distributed and consumed via digital platforms or devices. 
  • DONATION – Voluntary contribution made without any goods or services received in return. Multiple line items can be categorized as DONATION within a single transaction, however it is not possible to combine DONATION other line item categories within the same transaction.
Culture
string

Allowed values: One of the supported languages in the ISO 639-1 format: DE, EN, ES, FR, IT, NL, PL, PT.

The language in which the payment page is to be displayed.

ShippingPreference
string

Allowed values: SET_PROVIDED_ADDRESS, GET_FROM_FILE, NO_SHIPPING

Information about the shipping address behavior on the PayPal payment page:

  • SET_PROVIDED_ADDRESS - The Shipping parameter becomes required and its values are displayed to the end user, who is not able to modify them.
  • GET_FROM_FILE – The Shipping parameter is ignored and the end user can choose from registered addresses.
  • NO_SHIPPING – No shipping address section is displayed.
Reference
string

Max. length: 127 characters (truncated after)
The platform’s order reference for the transaction.

PaypalBuyerAccountEmail
string

The email address registered on the PayPal account used to make the payment.

Trackings
array (object)

Shipping information of the LineItems added to the pay-in object.

TrackingNumber
stringRequired

The shipment’s tracking number provided by the carrier.

Carrier
stringRequired

The carrier for the shipment. Use the country-specific version of the carrier if it exists, otherwise use its global version.

NotifyBuyer
string

Default value: false

If true, sends an email notification to the PaypalBuyerAccountEmail containing the TrackingNumber and Carrier, which allows the end user to track their shipment with the carrier.

ProfilingAttemptReference
string

The unique reference generated for the profiling session, used by the fraud prevention solution to produce recommendations for the transaction using the profiling data.

Note: Parameter not returned by the API. Profiling feature available on request – contact Mangopay via the Dashboard for more information.

RecurringPayinRegistrationId
string

The unique identifier of the recurring pay-in registration. On PayPal, this parameter is only returned if the pay-in is a recurring one.