About
PayPal is a popular international payment method that allows users to pay by connecting to their PayPal account and using a connected card or bank account or their PayPal account balance.Region | International |
---|---|
Currencies | See the currencies page for details |
Refunds | Yes, within 180 days |
Disputes | Yes, see disputes below for details |
Preauthorization | No |
Recurring payments | Yes |
Activation
PayPal requires approval and integration with PayPal and activation by Mangopay. Contact the Mangopay Support team via the Dashboard to get started.Activation process
Activation process
Mangopay checks your platform’s eligibility
- Based in the EU, UK, or Switzerland
- Not operating a crowdfunding business model
Mangopay refers your platform to PayPal
PayPal approves your request
PayPal accompanies your platform in setting up a PayPal Business account
- Due diligence and business registration
- Pricing negotiation, on top of Mangopay’s commission
- Creation of the PayPal account
- Integration support (PayPal button etc.)
PayPal notifies Mangopay that your platform is ready to go live
Mangopay activates PayPal in Production
You approve Mangopay in PayPal
Submit pre-transaction risk data
PayPal requires all platforms to send risk-related data before each transaction, which allows PayPal to more accurately assess risk on payments over time. The data points requested depend on the industry in some cases, and platforms should send as much of the requested data as possible. Sending the risk data helps ensure maximum coverage of transactions with seller protection and help to reduce chargebacks. Failure to provide the risk data may limit seller protection coverage on transactions, and may result in a higher rate of disputes and fraud-related declines. Submitting risk data to PayPal involves an additional API with the data payload, and then linking the data to the pay-in:Submit data about the transaction
- Events and ticketing
- Online travel agents:
- Car rentals
- Hotels
- Transportation
- Travel packages
- Retail and groceries
- Cruise lines
- Buy online, pick up in store (BOPIS)
- Crypto
Retrieve the DataCollectionId
DataCollectionId
in the API response.You can retrieve the full data set that you sent by calling the GET View data submitted for a PayPal PayIn endpoint.Include DataCollectionId in pay-in call
DataCollectionId
in your pay-in request. The parameter should be sent on one-time and recurring pay-ins:- POST Create a PayPal PayIn
- POST Create a Recurring PayPal PayIn (CIT)
- POST Create a Recurring PayPal PayIn (MIT)
DataCollectionId
is not returned in the API response on the pay-in endpoints.Each pay-in, including recurring merchant-initiated transactions (MIT), requires a new unique DataCollectionId
.One-time payments
For one-time payments, the flow is as follows:User chooses payment method
Pre-transaction data
DataCollectionId
(see above).Payment initiation
ReturnURL
and including the DataCollectionId
.If the payments are recurring (for example, a subscription), you need an additional API call to setup the recurrence before requesting the pay-in (see Recurring section)Redirection
RedirectURL
in the API response.On the PayPal page, the user connects to their PayPal account, selects a card, bank, or PayPal balance, and confirms the payment.Return
ReturnURL
that you specified in the payment request.Outcome
CREATED
to SUCCEEDED
or FAILED
, indicating the outcome.Set up webhooks for the PAYIN_NORMAL_SUCCEEDED
and PAYIN_NORMAL_FAILED
event types to be notified of this.Recurring payments
Recurring payments with PayPal requires a pay-in registration object to setup the recurrence, before your platform can request pay-ins linked to the registration. The first pay-in, a customer-initiated transaction (CIT), requires the user to authenticate the payment (in the same way as one-time pay-ins). Your platform can then request subsequent pay-ins without the user present, known as merchant-initiated transactions (MITs), at the frequency and amount agreed by the user. The steps are as follows:Set up the recurring registration
RecurringPayinRegistrationId
allows you to link the recurring pay-ins to this registration object. The Status
of the registration object is CREATED
.Submit pre-transaction data
DataCollectionId
(see above).Process the customer-initiated transaction (CIT)
DataCollectionId
.When the first transaction is initiated, the Status
of the registration object becomes AUTHENTICATION_NEEDED
.To authenticate the CIT, you need to redirect the user to the RedirectURL
so they can agree to the recurring payments and validate the first transaction.
PlatformName (payment services by Mangopay)Once the user agrees and the first payment is successfully authorized, the
Status
of the registration object changes to IN_PROGRESS
. This indicates that you can debit subsequent payments without the user present.Set up a webhook for the RECURRING_REGISTRATION_IN_PROGRESS
event type to be notified of this.Process merchant-initiated transactions (MIT)
DataCollectionId
, obtained in the same way as the CIT by calling the POST Submit data for a PayPal PayIn endpoint (see above).Once you have the DataCollectionId
, call the the POST Create a Recurring PayPal PayIn (MIT) endpoint to initiate the pay-in.The user is not present for the MIT pay-in, and so no redirection is necessary.Status
to change to AUTHENTICATION_NEEDED
during the recurrence. The status may become ENDED
, as described below.Ending the recurrence
The registration objectStatus
can be set to ENDED
to indicate that it can no longer be used. You can do this using the PUT Update a Recurring PayIn Registration endpoint.
UserId
, so you may need to set the registration to ENDED
in order to create a new one with the same user.ENDED
status in the event that PayPal notifies that the user has revoked the recurrence directly from their PayPal account.
Set up a webhook for the RECURRING_REGISTRATION_ENDED
event type to be notified of this.
Shipping preference
TheShippingPreference
parameter allows you to specify the behavior of the shipping address on the PayPal payment page.
SET_PROVIDED_ADDRESS
- TheShipping
parameter becomes required and its values are displayed to the end user, who is not able to modify them.GET_FROM_FILE
- TheShipping
parameter is ignored and the end user can choose from registered addresses.NO_SHIPPING
- No shipping address section is displayed.
Tracking information
PayPal allows you to upload tracking information for shipments of a transaction. The tracking number provides evidence of shipping and delivery. For a dispute opened because the user claims they haven’t received the items, proof of shipping and delivery usually means the dispute is resolved in the platform’s favor. You can provide the tracking number on both one-time and recurring pay-ins. To provide the tracking information for a transaction:Obtain the shipment’s tracking number from the carrier
Send the tracking number and carrier to Mangopay
Optionally, trigger an email from PayPal to the buyer
NotifyBuyer
parameter to true
when you make the PUT call.If making multiple calls for the same transaction, notify the buyer on only one of the calls (for example, the first).Refunds
Disputes
If a user has an issue with a payment, they may raise it directly with PayPal, resulting in a PayPal inquiry which may escalate to a claim. A user may also object to a payment with their card issuer, resulting in a chargeback.ResultCode
is LOST
and it cannot be contested in the Mangopay Dashboard.