Paysafe Pay Later
Paysafe supports Paysafe Pay Later's business-to-consumer pay-later product, which includes two product types: one-time delayed payment (Invoice) and multiple monthly payments (Installments).
- Invoice – If the consumer wants to pay the whole amount two weeks later, use INVOICE as the Paysafe Pay Later productType in the Payment Authorization request.
- Installments – If the consumer wants to pay by multiple monthly installments, use INSTALLMENTS as the Paysafe Pay Later productType in the Payment Authorization request.
To determine if the consumer is eligible for Paysafe Pay Later payment products, you must first process a Verification request and then consult the response.
The following flow describes Installment payments:
- The consumer is ready to check out and selects Paysafe Pay Later Installments as the payment method.
- The merchant requests any required information that is missing (i.e., that they don't already store) such as full name, email address, billing address, and date of birth (Paysafe Pay Later consumers must be over 18).
- The merchant sends a Verification request to Paysafe. Paysafe Pay Later carries out a risk check on the consumer and approves or rejects the request. If the consumer is eligible for installment payments, Paysafe Pay Later will return the available payment plans with all the payment details, which should be presented to the consumer so they can select a payment plan duration.
- When the Verification is approved, the merchant allows the consumer to proceed with the payment flow (which in this Installments example means the merchant would display the payment plans selection page).
- The merchant sends a Payment Authorization request. The settleWithAuth parameter must be set to false because the settlement takes place separately from authorization. The productType parameter in the payolution object must be set to INSTALLMENTS, and the planDuration parameter will include length of the installment plan, in months, which will be one of the options returned in the response to the Verification request. (Note that if the productType is INVOICE, no planDuration is included.)
- Paysafe Pay Later approves or rejects the Payment Authorization. The response contains a paymentInformation object with details of the bank account to which the consumer must send payment (see step 10).
- When the Payment Authorization is approved, the merchant should redirect the consumer to a success page.
- Once the goods are ready to ship, the merchant sends a Settlement request for the payment.
- When the Settlement request is successful, Paysafe Pay Later credits the merchant's account with the settlement amount. The funds in this account are then paid out weekly to the merchant's bank, on the day specified in the merchant's contract.
- The merchant uses the payment information from step 6 to send a payment invoice to the consumer.
- The merchant sends a copy of the invoice to Paysafe Pay Later for their records.
- Paysafe Pay Later follows up any non-payment directly with the consumer.
Although the Verification request is mandatory only when the merchant wants to offer payment by INSTALLMENTS, Paysafe Pay Later recommends that the merchant send a Verification request for INVOICE payment requests as well.
If the Verification request fails, the merchant cannot offer Paysafe Pay Later as a payment alternative. In this case, the merchant should display a page where different payment methods can be offered.
Paysafe Pay Later Payment by Installments Flow
Paysafe Pay Later supports full and partial refunds (for 183 days after the settlement transaction by default). The refund amount will be deducted in the next payout cycle. If applicable, consumers will then receive a reimbursement from Paysafe Pay Later. However, if the consumer or Paysafe Pay Later wishes to cancel payment or if the merchant wants to cancel the order after an authorization but before settlement (step 7 above) , the merchant must make a Void Authorization request instead of a Refund request.
For a goods exchange, only the difference in value should be refunded.
Paysafe Pay Later Integration Requirements
- The merchant must store Paysafe Pay Later's payment reference and the unique payment ID assigned by Paysafe (which is returned in the Payment Authorization response) together with the order details.
- The merchant must send a copy of the invoice they send to the consumer to Paysafe Pay Later for storage.
- It should not be possible for a consumer to set different shipping and billing addresses.
- Merchants must verify that their consumers are older than 18 years of age.
- The payment method should only be offered for consumers in the supported countries. See the Countries column in the Paysafe Pay Later row of the Supported Alternate Payments table.
Payment Invoice
The merchant constructs the payment invoice using the details returned in the paymentInformation object. An example is shown below:
"paymentInformation": {
"paymentReference": "ABAE-DEWU-DFER",
"iban": "AT611904300234573201456",
"bic": "BFRILI22XXX",
"bankName": "Musterbank",
"accountHolderName": "Test Merchant"
}
The Paysafe Pay Later payment reference must be printed on the consumer invoice.
Verification Request Example
{
"amount": 1000,
"merchantRefNum": "payolution_verification_123",
"paymentType": "PAYOLUTION",
"profile": {
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@paysafe.com",
"ip": "127.0.0.1",
"dateOfBirth": {
"day": "01",
"month": "01",
"year": "1970"
}
},
"payolution": {
"descriptor": "Descriptor",
"productType": "INSTALLMENTS",
"analysis": [{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
}, {
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
}, {
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
}, {
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
}]
},
"billingDetails": {
"street1": "Teststreet 19",
"zip": "3512 JS",
"state": "UT",
"city": "Utrecht",
"country": "NL"
}
}
{
"id": "62f501a2-8a14-47bd-a8a9-f19ed59953fd",
"merchantRefNum": "payolution_verification_123",
"amount": 1000,
"currencyCode": "EUR",
"paymentType": "PAYOLUTION",
"profile": {
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@paysafe.com",
"ip": "127.0.0.1",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1970
}
},
"billingDetails": {
"street1": "Teststreet 19",
"zip": "3512 JS",
"city": "Utrecht",
"country": "NL",
"state": "UT"
},
"payolution": {
"descriptor": "Descriptor",
"productType": "INSTALLMENTS",
"analysis": [{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
},
{
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
},
{
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
},
{
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
}
],
"plans": {
"paymentDetails": [{
"originalAmount": 1000,
"totalAmount": 1026,
"minimumInstallmentFee": 0,
"duration": 3,
"interestRate": 14.95,
"effectiveInterestRate": 16.02,
"standardCreditInformationUrl": "https://test-payment.payolution.com/payolution-payment/rest/query/customerinfo/pdf?trxId=053c5369-c37a-431b-96f0-1981384ac993;duration=3",
"installments": [{
"amount": 342,
"due": "2018-02-03"
},
{
"amount": 342,
"due": "2018-03-03"
},
{
"amount": 342,
"due": "2018-04-03"
}
]
},
{
"originalAmount": 1000,
"totalAmount": 1032,
"minimumInstallmentFee": 0,
"duration": 4,
"interestRate": 14.95,
"effectiveInterestRate": 16.02,
"standardCreditInformationUrl": "https://test-payment.payolution.com/payolution-payment/rest/query/customerinfo/pdf?trxId=053c5369-c37a-431b-96f0-1981384ac993;duration=4",
"installments": [{
"amount": 258,
"due": "2018-02-03"
},
{
"amount": 258,
"due": "2018-03-03"
},
{
"amount": 258,
"due": "2018-04-03"
},
{
"amount": 258,
"due": "2018-05-03"
}
]
},
{
"originalAmount": 1000,
"totalAmount": 1044,
"minimumInstallmentFee": 0,
"duration": 6,
"interestRate": 14.95,
"effectiveInterestRate": 16.02,
"standardCreditInformationUrl": "https://test-payment.payolution.com/payolution-payment/rest/query/customerinfo/pdf?trxId=053c5369-c37a-431b-96f0-1981384ac993;duration=6",
"installments": [{
"amount": 174,
"due": "2018-02-03"
},
{
"amount": 174,
"due": "2018-03-03"
},
{
"amount": 174,
"due": "2018-04-03"
},
{
"amount": 174,
"due": "2018-05-03"
},
{
"amount": 174,
"due": "2018-06-03"
},
{
"amount": 174,
"due": "2018-07-03"
}
]
},
{
"originalAmount": 1000,
"totalAmount": 1062,
"minimumInstallmentFee": 0,
"duration": 9,
"interestRate": 14.95,
"effectiveInterestRate": 16.02,
"standardCreditInformationUrl": "https://test-payment.payolution.com/payolution-payment/rest/query/customerinfo/pdf?trxId=053c5369-c37a-431b-96f0-1981384ac993;duration=9",
"installments": [{
"amount": 118,
"due": "2018-02-03"
},
{
"amount": 118,
"due": "2018-03-03"
},
{
"amount": 118,
"due": "2018-04-03"
},
{
"amount": 118,
"due": "2018-05-03"
},
{
"amount": 118,
"due": "2018-06-03"
},
{
"amount": 118,
"due": "2018-07-03"
},
{
"amount": 118,
"due": "2018-08-03"
},
{
"amount": 118,
"due": "2018-09-03"
},
{
"amount": 118,
"due": "2018-10-03"
}
]
},
{
"originalAmount": 1000,
"totalAmount": 1080,
"minimumInstallmentFee": 0,
"duration": 12,
"interestRate": 14.95,
"effectiveInterestRate": 16.02,
"standardCreditInformationUrl": "https://test-payment.payolution.com/payolution-payment/rest/query/customerinfo/pdf?trxId=053c5369-c37a-431b-96f0-1981384ac993;duration=12",
"installments": [{
"amount": 90,
"due": "2018-02-03"
},
{
"amount": 90,
"due": "2018-03-03"
},
{
"amount": 90,
"due": "2018-04-03"
},
{
"amount": 90,
"due": "2018-05-03"
},
{
"amount": 90,
"due": "2018-06-03"
},
{
"amount": 90,
"due": "2018-07-03"
},
{
"amount": 90,
"due": "2018-08-03"
},
{
"amount": 90,
"due": "2018-09-03"
},
{
"amount": 90,
"due": "2018-10-03"
},
{
"amount": 90,
"due": "2018-11-03"
},
{
"amount": 90,
"due": "2018-12-03"
},
{
"amount": 90,
"due": "2019-01-03"
}
]
}
],
"tacUrl": "https://test-payment.payolution.com/payolution-payment/infoport/termsandconditions?channelId=paysafe-installment",
"dataPrivacyConsentUrl": "https://test-payment.payolution.com/payolution-payment/infoport/dataprivacydeclaration?channelId=paysafe-installment"
}
},
"txnTime": "2018-01-30T18:50:41Z",
"status": "COMPLETED",
"gatewayResponse": {
"code": "0.0.0",
"description": "The request was processed successfully.",
"id": "053c5369-c37a-431b-96f0-1981384ac993",
"processor": "PAYOLUTION",
"paymentType": "CL"
},
"links": [{
"rel": "self",
"href": "https://api.test.paysafe.com/alternatepayments/v1/accounts/1001186650/verifications/62f501a2-8a14-47bd-a8a9-f19ed59953fd"
}]
}
Payment Authorization Request Example
{
"amount": 1000,
"payolution": {
"descriptor": "Descriptor",
"productType": "INVOICE",
"analysis": [{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
}, {
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
}, {
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
}, {
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
}]
},
"merchantRefNum": "payolution_P1234",
"paymentType": "PAYOLUTION",
"settleWithAuth": false,
"dupCheck": false,
"returnLinks": [{
"href": "http://fake.com",
"rel": "default"
}],
"profile": {
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@paysafe.com",
"ip": "127.0.0.1",
"dateOfBirth": {
"day": "01",
"month": "01",
"year": "1970"
}
},
"billingDetails": {
"street1": "Teststreet 19",
"zip": "3512 JS",
"state": "UT",
"city": "Utrecht",
"country": "NL"
},
"shippingDetails": {
"carrier": "DHL",
"company": "John Doe Company",
"recipientName": "John Doe",
"street": "Pieterskerk 19",
"street1": "Floor 6",
"zip": "3512 JS",
"state": "UT",
"city": "Utrecht",
"country": "NL"
}
}
{
"id": "6009c536-20eb-4014-97fa-9e7d35f81124",
"gatewayReconciliationId": "f0cab818-85c1-4102-b2b6-b8980d53049b",
"merchantRefNum": "payolution_P1234",
"amount": 1000,
"currencyCode": "EUR",
"paymentType": "PAYOLUTION",
"settleWithAuth": false,
"availableToSettle": 1000,
"availableToRefund": 0,
"profile": {
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@paysafe.com",
"ip": "127.0.0.1",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1970
}
},
"billingDetails": {
"street1": "Teststreet 19",
"zip": "3512 JS",
"city": "Utrecht",
"country": "NL",
"state": "UT"
},
"payolution": {
"paymentInformation": {
"paymentReference": "ABAE-DEWU-DFER",
"iban": "AT611904300234573201456",
"bic": "BFRILI22XXX",
"bankName": "Musterbank",
"accountHolderName": "Test Merchant"
},
"descriptor": "Descriptor",
"analysis": [
{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
},
{
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
},
{
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
},
{
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
}
]
},
"liveMode": true,
"txnTime": "2017-10-02T13:47:30Z",
"status": "COMPLETED",
"gatewayResponse": {
"code": "0.0.0",
"description": "The request was processed successfully.",
"id": "4f508b45-a433-4a7e-aa47-f1e7e56cb420",
"processor": "PAYOLUTION",
"paymentType": "PA"
},
"links": [
{
"rel": "self",
"href": "https://api.test.paysafe.com/alternatepayments/v1/accounts/1001141560/payments/6009c536-20eb-4014-97fa-9e7d35f81124"
}
]
}
Payment Authorization Request with Installments Example
{
"amount": 1000,
"merchantRefNum": "payolution_P1234",
"paymentType": "PAYOLUTION",
"verificationId": "2f6f0150-2f08-43be-ad42-aa89fafde792",
"payolution": {
"productType": "INSTALLMENTS",
"planDuration": "3",
"descriptor": "Descriptor",
"analysis": [{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
}, {
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
}, {
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
}, {
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
}]
},
"settleWithAuth": false,
"returnLinks": [{
"href": "http://returnurl.com",
"rel": "default"
}],
"profile": {
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@paysafe.com",
"ip": "127.0.0.1",
"dateOfBirth": {
"day": "01",
"month": "01",
"year": "1970"
}
},
"billingDetails": {
"street1": "Teststreet 19",
"zip": "3512 JS",
"state": "UT",
"city": "Utrecht",
"country": "NL"
}
}
{
"id": "5063daee-0e9e-4d0d-838f-b7bac2b04b8d",
"merchantRefNum": "payolution_P1234",
"amount": 1000,
"currencyCode": "EUR",
"paymentType": "PAYOLUTION",
"settleWithAuth": false,
"verificationId": "2f6f0150-2f08-43be-ad42-aa89fafde792",
"availableToSettle": 1000,
"availableToRefund": 0,
"profile": {
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@paysafe.com",
"ip": "127.0.0.1",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1970
}
},
"billingDetails": {
"street1": "Teststreet 19",
"zip": "3512 JS",
"city": "Utrecht",
"country": "NL",
"state": "UT"
},
"payolution": {
"paymentInformation": {
"paymentReference": "3990bdf5-fd9e-4185-b204-026368198f67",
"iban": "AT611904300234573201456",
"bic": "BFRILI22XXX",
"bankName": "Musterbank",
"accountHolderName": "Test Merchant"
},
"descriptor": "Descriptor",
"analysis": [{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
},
{
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
},
{
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
},
{
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
},
{
"key": "PAYOLUTION_PRE_CHECK_ID",
"value": "7373c12f-ea2e-4e65-b7f7-4ee8fa8c7f47"
}
],
"paymentDetails": {
"originalAmount": 10,
"totalAmount": 10.26,
"minimumInstallmentFee": 0,
"duration": 3,
"interestRate": 14.95,
"effectiveInterestRate": 16.02,
"installments": [{
"amount": 3.42,
"due": "2018-02-05"
},
{
"amount": 3.42,
"due": "2018-03-05"
},
{
"amount": 3.42,
"due": "2018-04-05"
}
]
}
},
"txnTime": "2018-01-24T19:21:04Z",
"status": "COMPLETED",
"gatewayResponse": {
"code": "0.0.0",
"description": "The request was processed successfully.",
"id": "05f1c3e1-73af-43f6-a672-758bed33ce5e",
"processor": "PAYOLUTION",
"paymentType": "PA"
},
"links": [{
"rel": "self",
"href": "https://api.test.paysafe.com/alternatepayments/v1/accounts/1001186650/payments/5063daee-0e9e-4d0d-838f-b7bac2b04b8d"
},
{
"rel": "verification",
"href": "https://api.test.paysafe.com/alternatepayments/v1/accounts/1001186650/verifications/2f6f0150-2f08-43be-ad42-aa89fafde792"
}
]
}
Payment Settlement Request Examples
{
"merchantRefNum": "payolution_S1234",
"dupCheck": true,
"amount": 1000,
"currencyCode": "EUR",
"paymentType": "PAYOLUTION",
"payolution": {
"descriptor": "Descriptor",
"analysis": [{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
}, {
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
}, {
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
}, {
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
}]
}
}
{
"id": "0ac2cad1-0c56-402e-9d0f-ab0d33e2888f",
"merchantRefNum": "payolution_S1234",
"dupCheck": true,
"amount": 1000,
"currencyCode": "EUR",
"paymentType": "PAYOLUTION",
"payolution": {
"paymentInformation": {
"paymentReference": "ABAE-DEWU-DFER",
"iban": "AT611904300234573201456",
"bic": "BFRILI22XXX",
"bankName": "Musterbank",
"accountHolderName": "Test Merchant"
},
"descriptor": "Descriptor",
"analysis": [
{
"key": "PAYOLUTION_CUSTOMER_GROUP",
"value": "TOP"
},
{
"key": "PAYOLUTION_MODULE_NAME",
"value": "PaymentModuleName"
},
{
"key": "PAYOLUTION_INVOICE_ID",
"value": "23498739478"
},
{
"key": "PAYOLUTION_ORDER_ID",
"value": "23498739478"
}
]
},
"txnTime": "2017-10-02T14:02:35Z",
"availableToRefund": 1000,
"status": "COMPLETED",
"gatewayResponse": {
"code": "0.0.0",
"description": "The request was processed successfully.",
"id": "2c196323-19b2-4c9d-8952-45d119997de5",
"processor": "PAYOLUTION",
"paymentType": "DB"
},
"links": [
{
"rel": "self",
"href": "https://api.test.paysafe.com/alternatepayments/v1/accounts/1001141560/settlements/0ac2cad1-0c56-402e-9d0f-ab0d33e2888f"
},
{
"rel": "payment",
"href": "https://api.test.paysafe.com/alternatepayments/v1/accounts/1001141560/payments/6009c536-20eb-4014-97fa-9e7d35f81124"
}
]
}
Analysis
The payment authorization request example above contains the optional analysis object. This object is a list of key/value pairs containing additional information for analysis to improve Paysafe Pay Later's risk assessment processes. Paysafe recommends that you send this object as part of the payment authorization or settlement request. Include as many of details as possible as this improves the chances of payment being accepted.
Key | Possible Suffix | Description |
---|---|---|
PAYOLUTION_REQUEST_<SUFFIX> |
| This can help Paysafe Pay Later to identify possible processing issues. For example, the merchant can specify which version their shopsystem has, and if Paysafe detects issues with a new version number we can help the merchant troubleshoot. |
PAYOLUTION_MODULE_<SUFFIX> |
| Paysafe Pay Later can return information about, e.g., shopping cart modules supported. |
PAYOLUTION_WEBSHOP_URL | The merchant's webshop URL should be transmitted with the this key. | |
PAYOLUTION_TRANSPORTATION_<SUFFIX> |
| For settlement requests:
|
PAYOLUTION_ITEM_<SUFFIX> |
| This can help Paysafe Pay Later identify shopping basket contents. For example: <Criterion name="PAYOLUTION_ITEM_DESCR_1">iPhone 4GS</Criterion> <Criterion name="PAYOLUTION_ITEM_CATEGORY_1">Phone</Criterion> <Criterion name="PAYOLUTION_ITEM_PRICE_1">349.99</Criterion> <Criterion name="PAYOLUTION_ITEM_TAX_1">49.99</Criterion> |
PAYOLUTION_CUSTOMER_<SUFFIX> |
|
|
PAYOLUTION_MERCHANT_COMMENT | A human readable comment by the merchant's Customer Service regarding the fulfillment of the order. | |
PAYOLUTION_INVOICE_ID | This is the merchant's invoice number, which is sent with the Settlement and passed on to the consumer. | |
PAYOLUTION_ORDER_ID | This is the order number, which will be assigned at checkout during the purchase. |