Use our gateway
A merchant can use our gateway to take repeat payments from their customers. To set up repeat payments from a customer, a merchant must complete the following steps:
- Create a payment plan.
- Save the customer’s details.
- Use a subscription to assign the customer to the payment plan.
- Take the payments.
A payment plan is a template that describes how the merchant takes payments from their customers, including the following information:
- Number of payments
- Length of the payment plan
- Amount for each payment
- How often payments are taken
- Initial costs
- Whether to automatically collect payments or manually collect payments
A merchant can create multiple payment plans and assign multiple customers to each plan. For example, if the merchant wants to allow customers to pay in weekly installments or in monthly installments, the merchant creates a payment plan for each installment schedule. The merchant can then offer customers a choice of payment plans, and then use subscriptions to assign customers to the plans that they choose.
If the merchant chooses to automatically collect payments, our gateway collects payments from each customer. If the merchant chooses to manually collect payments, they need to use their POS to collect the payments.
Integration steps
To use our gateway to take regular payments, integrate with the following:
Step 1. Create a payment plan.
Step 2. Create a secure token.
Step 3. Create a subscription.
Step 4. (Optional) Manually collect a payment from the customer.
Before you begin
Bearer tokens
Use our Identity Service to generate a Bearer token to include in the header of your requests. To generate a Bearer token, complete the following steps:
- Include your API key in the x-api-key parameter in the header of a POST request.
- Send your request to https://identity.payroc.com/authorize.
Note: You need to generate a new Bearer token before the previous Bearer token expires.
Example request
If your request is successful, we return a response that contains your Bearer token, information about its scope, and when it expires.
Example response
Headers
To create the header of each POST request, you must include the following parameters:
- Content-Type: Include application/json as the value for this parameter.
- Authorization: Include your Bearer token in this parameter.
- Idempotency-Key: Include a UUID v4 to make the request idempotent.
Errors
If your request is unsuccessful, we return an error. For more information about errors, see Errors.
Step 1. Create a payment plan
To create a payment plan, send a POST request to our Payment Plans endpoint:
Note: To allow merchants to add their own information to the payment plan, use custom fields. For more information about how to add custom fields, go to Add custom fields to your integration.
Request parameters
To create the body of your request, use the following parameters:
Request
Example request
Response fields
If your request is successful, we create the payment plan and return a response. The response contains the following fields:
Response
Example response
Step 2. Create a secure token
Before you can assign a customer to a payment plan, save their payment details and create a secure token.
To save the customer’s payment details, send a POST request to our Secure Tokens endpoint.
Note: We assign the secure token to the terminal that sent the request. Depending on the merchant’s account settings, other terminals within the merchant’s account can also use the secure token.
Request parameters
To create the body of your request, use the following parameters:
Request
Example request
Response fields
If your request is successful, we store the customer’s payment details and return a response. The response contains the following fields:
Response
Example response
Step 3. Create a subscription
To assign a customer to a payment plan, send a POST request to our Subscriptions endpoint. You can also use this request to personalize the payment plan for each customer, for example, provide a discount on each payment or add a one-off setup fee.
Request parameters
To create the body of your request, use the following parameters:
Request
Example request
Response fields
If your request is successful, we assign the customer to the payment plan and return a response. The response contains the following fields:
Response
Example response
Step 4. (Optional) Manually collect a payment
The merchant can choose to let our gateway automatically collect payments, or the merchant can manually collect payments. If the merchant chooses to manually collect payments, you must send a request every time the merchant wants to collect a payment from the customer.
To manually collect a payment from a customer, send a POST request to the Subscriptions endpoint.
Request parameters
To create the body of your request, use the following parameters:
Request
Example request
Response fields
If your request is successful, we take the payment from the customer and return a response. The response contains the following fields:
Response
Example response
Test cases
Before you run test cases, read the Payments page in Test Your Integration.
Create a payment plan
Send a POST request to the following endpoint:
POST https://api.uat.payroc.com/v1/processing-terminals/{processingTerminalId}/payment-plans
Example response
Create a secure token
Send a POST request to the following endpoint:
POST https://api.uat.payroc.com/v1/processing-terminals/{processingTerminalId}/secure-tokens
Example response
Create a subscription for a payment plan
Send a POST request to the following endpoint:
POST https://api.uat.payroc.com/v1/processing-terminals/{processingTerminalId}/subscriptions
Example response
Manually pay a subscription
Send a POST request to the following endpoint:
Example response