Payment Overview
Pay by Link

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"
    }
}'
argumentkindtypedescription
application-idheaderUUIDid of the merchant application
application-secretheaderUUIDprivate key of the merchant application
Content-TypeheaderStringapplication/vnd.volume.v0.7+json
AcceptheaderStringapplication/vnd.volume.v0.7+json
applicationIdbodyUUIDid of the merchant application
customerIntentDescriptionbodyStringdescription of the payment for customer
merchantIntentDescriptionbodyStringdescription of the payment for merchant
merchantPaymentIdbodyStringmerchant payment id
amountbodyNumberamount to pay
currencybodyStringcurrency of the payment
referencebodyStringreference 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"
}
fieldtypedescription
paymentIntentIdUUIDpaymentIntentId
paymentIntentLinkStringlink to pay by link page with bank selector
customerIntentDescriptionStringdescription of the payment for customer
merchantIntentDescriptionStringdescription of the payment for merchant
expiryTimeUtcStringlink expiry time
merchantNameStringmerchant name
applicationIdUUIDid of the merchant application
merchantPaymentIdstring [optional]merchant payment id if specified when payment was initialized
amountnumberamount to pay
currencystringcurrency of the payment
referecestringreference of the payment
isLinkbooleantrue if payment intent was initialized as pay by link
usageModestringusage mode: ALLOW_MULTIPLE_ATTEMPTS, ALLOW_SINGLE_ATTEMPT
tracingIdstringcall tracingId (for support)

Webhook Notification will be sent when payment is completed.