Recurring Payment
Method for triggering a recurring payment without the customer present.
When processing the first transaction (the parent transaction), the merchant creates a payment.
Later, when a charge is due on the customer's side, the merchant calls this method, passing the
parent_transaction number of the first payment. The charge is made without the payer's
involvement.
URL
Method: POST
- Production:
https://api.pay.kvell.group/v1/orders/rebill - Stage:
https://api.pay.stage.kvell.group/v1/orders/rebill
Request parameters
Name |
Data type | Required | Description |
|---|---|---|---|
parent_transaction |
string | Yes | Parent transaction number, specified in the transaction field when the parent payment was made |
transaction |
string | Yes | Unique transaction number on the merchant's side |
amount |
integer | Yes | Amount in kopecks |
description |
string | Yes | Transaction description |
fiscal_data |
json | No | Receipt fiscalization under 54-FZ |
extra_data |
json | No | Additional parameters passed by the merchant |
Request headers
| Name | Data type | Required | Description |
|---|---|---|---|
X-Api-Key |
string | Yes | Unique shop identifier |
X-Signature |
string | Yes | Signature |
Generating the signature
The X-Signature signature is generated by concatenating X-Api-Key, transaction, amount, and secret_key. A sha256
hash is generated from the resulting string:
where secret_key is the secret key found in the merchant's shop settings.
Response
Response example
{
"id": "b13e1610-f26a-4c49-84e8-0edf1650a026",
"status": "completed",
"transaction": "436b4ed3-fc6d-431e-963e-a958a730119c",
"amount": 100,
"commission": 1000,
"inner_commission": 500,
"description": "TEST Invoice",
"success_url": "https://success.url",
"fail_url": "https://fail.url",
"redirect_url": "https://redirect.url",
"extra_data": {},
"fiscal_data": {},
"additional_data": {},
"error_code": null,
"error_message": null,
"created_at": "2024-05-20T12:55:00.951753+00:00",
"refund_amount": 0,
"reverse_amount": 0,
"confirm_amount": 0,
"instrument": "card",
"ecommerce_type": "payment"
}
Recurring payment via a third-party shop
This method is used to make a recurring payment through a third-party shop using the parent transaction. Use this method when you need to debit the payer without a separate confirmation for each charge, through another terminal configured at the bank. Contact your account manager for detailed information.
URL
Method: POST
- Production:
https://api.pay.kvell.group/v1/orders/rebill-from-profile - Stage:
https://api.pay.stage.kvell.group/v1/orders/rebill-from-profile
Request parameters
Name |
Data type | Required | Description |
|---|---|---|---|
parent_transaction |
string | Yes | Parent transaction number from the transaction field of the third-party shop |
transaction |
string | Yes | Unique transaction number on the merchant's side |
amount |
integer | Yes | Amount in kopecks |
description |
string | Yes | Transaction description |
fiscal_data |
json | No | Receipt fiscalization under 54-FZ |
extra_data |
json | No | Additional parameters passed by the merchant |
Request headers
Name |
Data type | Required | Description |
|---|---|---|---|
X-Api-Key |
string | Yes | Unique shop identifier |
X-Signature |
string | Yes | Signature, generated the same way as in the recurring payment method |
Response
Identical to the recurring payment method's response.