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.
Request
curl --location --request POST 'https://uat.app.payvyne.com/api/oauth/token'
--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.
Request
curl --location --request POST 'https://uat.app.payvyne.com/api/v1/recurringPayments'
--header 'Authorization: Bearer <payment_token>'
--header 'Content-Type: application/json'
--data 'payment-request.json'
{
"amount": "1",
"currency": "GBP",
"description": "Web payment",
"callbackUrl": "yoursite.com/payment-outcome-page",
"firstPaymentDate" : "2022-04-09",
"numberOfPayments" : "3",
"frequency": "MONTHLY",
"destinationAccount": "GBP1",
"mediaType": "URL"
}
Parameter | Description |
---|---|
amount | Amount to be paid by the payer. |
currency | The three-character payment currency using ISO 4217. Vyne supports |
description | A description that can be added to the transaction for merchant reference. This can be up to 250 characters and alphanumeric. |
callbackUrl | The URL the payer will be redirected back to after the authorisation is completed. |
mediaType | Specifies if the response should contain a URL to the payment page or a QR code. Accepted values are |
destinationAccount | Specifies the ID of the merchant's destination bank account with Vyne (e.g. GBP1). More on bank accounts here. |
firstPaymentDate | The date of the first payment. |
numberOfPayments | The total number of payments to be made in the schedule, commencing on the date of the first payment. |
frequency | The recurrence schedule of the payments. |
customerReference | Used to populate a merchant customer reference used in reconciliation. This can be up to 128 characters and alphanumeric. Optional field. |
merchantReference | Used to populate the payment reference used by the merchants internal systems. This can be up to 256 characters and alphanumeric. Optional field. |
Response
{
"redirectUrl": "<redirect_url>",
"qrCodeUrl": "<qr_code_url>",
"requestId": "adca2b6a077de1f5",
"mediaType": "URL"
}
Parameter | Description |
---|---|
redirectUrl | The URL of the payment page to be presented to consumers. This value is returned when |
qrCodeUrl | The URL to a QR code which encodes the URL of the payment page. This value is returned when |
requestId | The payment request ID of the recurring payment. |
mediaType | Specifies the format the payment link was generated. Possible values |
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.
Updated 7 months ago