Recurring payments via FPS
You can make a transaction to bind a payer's account to the FPS for recurring payments with a recurring token.
How to make a payment
- Create a payment session
session/create
. - Send a payment request using the
session/start/payment
method. Thepayment_options.recurrent
parameter contains thetrue
value. - Wait for a
ready_to_confirm
webhook to confirm the payment withsession/confirm
or cancel the payment withsession/cancel
. - Wait for an
action_required
webhook. Thecustomer_interaction.inform.qr.content
parameter contains a deeplink which you can either display to the customer as QR code in a web browser, or use it to forward the customer to the issuer's mobile application. - Wait for a
payment_finished
webhook containing the transaction result from Smart Glocal. In case of a successful transaction, the webhook will containstatus=accepted
(session
object) andstatus=succeeded
(payments
/payout_list
object) along with a recurring token within therecurrent.token
parameter. If the transaction fails, the webhook will containstatus=cancelled
(session
object),status=failed
(payments
/payout_list
object), and no recurring token.
Webhook example
- Success
- Failure
{
"type": "payment_finished",
"session": {
"id": "ps_3102",
"status": "accepted",
"created_at": "2025-07-08T08:55:05.187838Z",
"updated_at": "2025-07-08T08:56:34.110096Z",
"acquiring_payments": [
{
"id": "pm_3100",
"status": "succeeded",
"created_at": "2025-07-08T08:55:05.284254Z",
"finished_at": "2025-07-08T08:56:34.015333Z",
"customer": {
"reference": "1501512",
"contacts": [
{
"phone": "7953*****21"
}
]
},
"payment_details": {
"type": "faster_payment_system"
},
"recurrent": {
"token": "f8d95e0e8bfa9a573c12f69d3f858f1b37342623870cb39057676e0dbabc02c2",
"created_at": "2025-07-08T11:56:33+03:00",
"finished_at": "2035-07-08T11:56:32+03:00",
"is_active": true,
"type": "recurrent_token"
},
"amount_details": {
"amount": 199000,
"currency": "RUB"
},
"amounts": {},
"metadata": {
"initiatorMetadata": {
"customQueryId": "644894796103676688",
"account": "8f082ccad1c4f69dbc678fa409924fb6cde5cc23",
"callback": "-1224827450_00e4d08bebca4da2ef",
"chargeId": "5314659081_150151268_737729",
"customerId": 150151268,
"save": false,
"recurrent": true,
"botUsername": "PremiumBot",
"apmPublicToken": "d4470a4280e61d5de8a76b7de9d1e2d30b24b2237c73994717566e5315608ec3",
"clientSession": {
"id": "af67818f9e82849d98f0de21619fe677fdc1f3f576071b69bd9a3c6976813e11",
"userTelegramId": 1100521234,
"apmToken": "16276dbebeceb3fb3573b06c819d0b838a0679b758fa797376d7660c659000fb",
"clientLocaleIso2": "ru",
"validationErrorsCount": 0
}
},
"invoicePayload": "init_premium_sub_12M-RUv1675450666",
"invoiceData": "{\"service_period\":31104000,\"purpose\":\"premium\",\"account_age_category\":6}"
},
"participant_details": {
"sender": {
"ipv4": "185.130.184.58"
}
},
"payment_options": {
"return_url": "https://payment.smart-glocal.com/en/session_status/5314653481/8f082ccad1c4f69dbc678fa409924fb6cde5cc10/ps_3102202245/52d9e5bf7037a189b39c89d55c9fdd4cacd19cb52582c7278de046a9df3511f6?theme=%7B%22bg_color%22:%22%23282e33%22,%22text_color%22:%22%23f5f5f5%22,%22hint_color%22:%22%2382868a%22,%22link_color%22:%22%23a6b8cd%22,%22button_color%22:%22%237b8799%22,%22button_text_color%22:%22%23ffffff%22,%22secondary_bg_color%22:%22%23313b43%22,%22header_bg_color%22:%22%23282e33%22,%22accent_text_color%22:%22%23bbc7d9%22,%22section_bg_color%22:%22%23282e33%22,%22section_header_text_color%22:%22%23a6b8cd%22,%22subtitle_text_color%22:%22%2382868a%22,%22destructive_text_color%22:%22%23f57474%22%7D",
"recurrent": true
},
"transaction_info": {
"fp_message_id": "A51890856297741A0000040011538701"
}
}
],
"actions": {
"confirm": "2025-07-08T08:55:05.349934Z",
"capture": "2025-07-08T08:56:33.333387Z"
}
}
}
{
"type": "payment_finished",
"session": {
"id": "ps_713610",
"status": "cancelled",
"created_at": "2025-03-01T11:57:31.652396Z",
"updated_at": "2025-03-01T11:57:31.861329Z",
"acquiring_payments": [
{
"id": "pm_308906",
"status": "failed",
"created_at": "2025-03-01T11:57:31.895773Z",
"finished_at": "2025-03-01T11:57:31.895773Z",
"customer": {
"reference": "user123"
},
"payment_details": {
"type": "faster_payment_system"
},
"amount_details": {
"amount": 229600,
"currency": "RUB"
},
"amounts": {
"fee": {
"merchant_fee": {
"amount": 1607,
"currency": "RUB"
}
}
},
"metadata": {
"parent_session_id": "ps_1667788995"
},
"error": {
"description": "QR expired",
"code": "qr_expired"
},
"payment_options": {
"return_url": "https://smart-glocal.com",
"recurrent": false
}
}
],
"error": {
"description": "Session cancelled",
"code": "session_cancelled"
},
"actions": {
"confirm": "2025-03-01T11:57:31.895773Z"
}
}
}