Skip to main content

Hybrid Payment Link

Payin​

Step 1. Initiate payment and get payment options.​

POST /v2/payment-options

{
"country": "TR",
"currency": "TRY",
"amount": 3130,
"redirectUrl": "https://merchant.io/where-to-go",
"language": "EN",
"customer": {
"name": "John Doe",
"email": "[email protected]",
"phone": "+34666999666",
"userDevice": "MOBILE",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
"ip": "84.232.140.77",
"address": {
"street": "32 Windsor Gardens",
"streetNumber": "24",
"country": "GB",
"zipCode": "W9 3RG",
"city": "London",
"state": "Great London."
}
},
"paymentReference": "Invoice ABC123",
"userId": "Merch_User_123"
}

Response: /v2/payment-options

{
"transactionId": "ad679871-92df-42eb-bc8b-1e642b3ae9f4",
"sessionId": "21bc3a8f-dad5-4462-ad1c-f893e11c1d01",
"paymentOptions": [
{
"paymentOptionId": "f34deaf0-a854-4d12-ae6a-b309c9feb409",
"name": "Easy P2P",
"logo": null,
"extraData": []
}
]
}

Step 2. Get payment suboptions.​

Request payment suboptions for the paymentOptionId returned in step 1.

POST /v2/payment-suboptions

{
"sessionId": "21bc3a8f-dad5-4462-ad1c-f893e11c1d01",
"paymentOptionId": "f34deaf0-a854-4d12-ae6a-b309c9feb409"
}

Response: /v2/payment-suboptions

{
"statusCode": "085",
"resultType": "option_choice",
"result": {
"paymentOptionId": "f34deaf0-a854-4d12-ae6a-b309c9feb409",
"transactionId": "ad679871-92df-42eb-bc8b-1e642b3ae9f4",
"sessionId": "21bc3a8f-dad5-4462-ad1c-f893e11c1d01",
"options": [
{
"id": "o_482",
"name": "Bank suboption example 1",
"logo": null,
"uuid": "272655df-d90e-4ffb-bf3f-f5153187e119",
"formInputs": []
},
{
"id": "o_767",
"name": "Bank option example 2",
"logo": null,
"uuid": "d89b915a-7d76-49ef-9388-13c5f7f25cf1",
"formInputs": []
},
{
"id": "o_768",
"name": "Bank option example 3",
"logo": null,
"uuid": "07c27905-bb4f-4189-a00e-dcf170c4be58",
"formInputs": []
}
]
}
}

Select a suboption (optionId) and add it to the payment request payload together with paymentOptionId and sessionId.

POST /v2/hybrid-payment

{
"sessionId": "21bc3a8f-dad5-4462-ad1c-f893e11c1d01",
"paymentOptionId": "f34deaf0-a854-4d12-ae6a-b309c9feb409",
"optionId": "o_482"
}

Response: /v2/hybrid-payment

{
"statusCode": "300",
"resultType": "redirect",
"result": {
"redirectUrl": "https://cashier.test.cyberpay.link/pay?sessionId=21bc3a8f-dad5-4462-ad1c-f893e11c1d01",
"transactionId": "ad679871-92df-42eb-bc8b-1e642b3ae9f4"
}
}

Step 4. User completes the payment​

Redirect the user to the Hosted Cashier using the redirectUrl in the response to complete the payment. The additional information the user is asked to provide in this step will vary between payment options and countries. Test data for these values can be found here.

EasyP2P hybrid

Step 5. Status page​

The payment remains in processing status until the network confirms the transaction. When the user clicks “RETURN TO ACCOUNT”, they are redirected to the redirectUrl provided in step 1.

EasyP2P hybrid