Request recurring payment

1. Get payment token

Start by generating a payment token. Make a HTTP POST request to the relevant endpoint + /api/oauth/token/ using the access token you generated.


curl --location --request POST '' 
--header 'Content-Type: application/x-www-form-urlencoded' 
--data-urlencode 'grant_type=client_credentials' 
--data-urlencode 'client_id=<payment_key>'
--data-urlencode 'client_secret=<payment_secret>’


Try it out

If your request was successful you will receive a payment token like this in the response eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudElkIjoxLCJzY29wZSI6WyJwYXkiXSwiaXNzIjoiaHR0cDovL2FwcC5kZXYucGF5dnluZS5zeXN0ZW1zIiwiZXhwIjoxNTg2MzY5NzExLCJpYXQiOjE1ODYzNjYxMTEsImF1dGhvcml0aWVzIjpbIlJPTEVfUEFZIl0sImp0aSI6ImExY2UzZjdmLTE3MzItNDhmNC04NTI3LTA5NWQ5NjlhNjkzNSIsImNsaWVudF9pZCI6IllNUFE2aDZQYTNaYmpEMXplbkQ0eXcifQ.g3XSXftyHvlCL1z1tlW6khboY7hzbiZVZgIzKHF2Rdc

2. Create recurring payment request

Then, create a RPIRRPIR - Recurring Payment Initiation Request. Send an HTTP POST request to the relevant endpoint + /api/v1/recurringPayments/ including the header Authorization: Bearer <payment_token>. You can use the same payment token generated in the first step.


curl --location --request POST ''
--header 'Authorization: Bearer <payment_token>'
--header 'Content-Type: application/json'
--data 'payment-request.json'
  "amount": "1",
  "currency": "GBP",
  "description": "Web payment",
  "callbackUrl": "",
  "firstPaymentDate" : "2022-04-09",
  "numberOfPayments" : "3",
  "frequency": "MONTHLY",
  "destinationAccount": "GBP1",
  "mediaType": "URL"




Amount to be paid by the payer.


The three-character payment currency using ISO 4217. Vyne supports GBP.


A description that can be added to the transaction for merchant reference. This can be up to 250 characters and alphanumeric.


The URL the payer will be redirected back to after the authorisation is completed.


Specifies if the response should contain a URL to the payment page or a QR code. Accepted values are QR and URL. This field is optional and the default value is URL.


Specifies the ID of the merchant's destination bank account with Vyne (e.g. GBP1). More on bank accounts here.


The date of the first payment.


The total number of payments to be made in the schedule, commencing on the date of the first payment.


The recurrence schedule of the payments.


Used to populate a merchant customer reference used in reconciliation. This can be up to 128 characters and alphanumeric. Optional field.


Used to populate the payment reference used by the merchants internal systems. This can be up to 256 characters and alphanumeric. Optional field.


  "redirectUrl": "<redirect_url>",
  "qrCodeUrl": "<qr_code_url>",
  "requestId": "adca2b6a077de1f5",
  "mediaType": "URL"




The URL of the payment page to be presented to consumers. This value is returned when mediaType is URL.


The URL to a QR code which encodes the URL of the payment page. This value is returned when mediaType is QR.


The payment request ID of the recurring payment.


Specifies the format the payment link was generated. Possible values URL and QR.


Be aware

For security, the URL and QR code are only valid for 30 minutes after the RPIRRPIR - Recurring Payment Initiation Request was created.

3. Bank selection and consent

Redirect your consumer using the URL or QR code provided in the RPIRRPIR - Recurring Payment Initiation Request response. For example, use the URL to redirect users in your application, send the URL as a link in an e-mail, or present the QR code for the consumer to scan on their device. Understand more about how the hosted checkout works and its use cases here.

What’s Next

Now you've successfully requested a recurring payment, learn how to get recurring payment status updates.

Did this page help you?