Overview
If you’re unsure which integration is appropriate for your use case, please contact us at support@getvolume.com.
The Pay By Link feature allows you to create a secure payment request link, which can be sent directly to customers to initiate payment collection. Upon clicking the link, Volume handles the payment capture, authorization, and initiation processes seamlessly.
This feature offers a convenient, secure solution for sending a fixed-amount payment request link to end users, ensuring a smooth and efficient payment experience. The generated link can be shared through various channels, including email, SMS, or other preferred methods of communication.
Request Example
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 Example
{
"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.
Sending a Pay by Link via SMS
You also have the option to send an SMS to your customer containing the Pay by Link. To send an SMS after creating a Pay by Link, simply call the endpoint provided below.
curl --location 'https://api.sandbox.volumepay.io/api/paymentintents/{paymentIntentId}/send' \
--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 '{
"paymentIntentId": "{paymentIntentId}",
"destination": "{customer-phone-number}"
}'| 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 |
| paymentIntentId | body | String | Received from the Pay by Link API response |
| destination | body | String | Recipient phone number for the SMS |
If the SMS was triggered successfully, you will receive a 200 OK response.