Overview
Pay by Link feature allows to generate links that can be sent to customers to complete the payment with bank app.
There are two modes available, ALLOW_MULTIPLE_ATTEMPTS
is default and recommended.
ALLOW_MULTIPLE_ATTEMPTS
Link is active until first payment is completed. Customer can try to pay multiple times with different banks until first payment is completed.ALLOW_SINGLE_ATTEMPT
Link is active until first payment attempt is executed. Customer cannot try to make a second payment attempt even if 1st attempt was not successful.
Request
curl --location --request POST 'https://api.sandbox.volumepay.io/api/paymentintents/link' \
--header 'x-application-id: {application-id}'
--header 'x-application-secret: {application-secret}'
--header 'Content-Type: application/vnd.volume.v0.7+json' \
--header 'Accept: application/vnd.volume.v0.7+json' \
--data-raw '{
"applicationId": {application-id},
"customerIntentDescription": null,
"merchantIntentDescription": null,
"merchantPaymentId": "merchantPaymentId",
"paymentRequest": {
"amount": 5,
"currency": "GBP",
"reference": "reference"
}
}'
argument | kind | type | description |
---|---|---|---|
application-id | header | UUID | id of the merchant application |
application-secret | header | UUID | private key of the merchant application |
Content-Type | header | String | application/vnd.volume.v0.7+json |
Accept | header | String | application/vnd.volume.v0.7+json |
applicationId | body | UUID | id of the merchant application |
customerIntentDescription | body | String | description of the payment for customer |
merchantIntentDescription | body | String | description of the payment for merchant |
merchantPaymentId | body | String | merchant payment id |
amount | body | Number | amount to pay |
currency | body | String | currency of the payment |
reference | body | String | reference of the payment |
❗ applicaiton-secret
can be generated in Merchant Portal -> Settings -> Security
Response
{
"paymentIntentId": "{paymentIntentId}",
"paymentIntentLink": "https://sandbox.paybylink.volumepay.io/?paymentIntentId={paymentIntentId}",
"customerIntentDescription": null,
"merchantIntentDescription": null,
"expiryTimeUtc": "2024-08-21T15:50:38.339227886",
"merchantName": "Merchant Name",
"applicationId": "{applicationId}",
"merchantPaymentId": "null",
"paymentRequest": {
"amount": 5,
"currency": "GBP",
"reference": "payment reference"
},
"isLink": true,
"usageMode": "ALLOW_MULTIPLE_ATTEMPTS",
"tracingId": "7375828018350538150"
}
field | type | description |
---|---|---|
paymentIntentId | UUID | paymentIntentId |
paymentIntentLink | String | link to pay by link page with bank selector |
customerIntentDescription | String | description of the payment for customer |
merchantIntentDescription | String | description of the payment for merchant |
expiryTimeUtc | String | link expiry time |
merchantName | String | merchant name |
applicationId | UUID | id of the merchant application |
merchantPaymentId | string [optional] | merchant payment id if specified when payment was initialized |
amount | number | amount to pay |
currency | string | currency of the payment |
referece | string | reference of the payment |
isLink | boolean | true if payment intent was initialized as pay by link |
usageMode | string | usage mode: ALLOW_MULTIPLE_ATTEMPTS , ALLOW_SINGLE_ATTEMPT |
tracingId | string | call tracingId (for support) |
❗ Webhook Notification will be sent when payment is completed.