QR code payments through FPS
You can receive payments using Faster Payment System (FPS) by a QR code. To start accepting FPS payments by a QR code, please contact your Smart Glocal manager.
Making an FPS payment by a QR code
-
Create a payment session
session/create
specifyingfaster_payment_system
inpayment_details.type
. Optionally, you can add a return URL to redirect the customer back after the payment (payment_options.return_url
).Request example
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/create \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "faster_payment_system"
},
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://smart-glocal.com"
}
}'Response example
curl -X POST \
https://partner.com \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"status": "ok",
"session": {
"id": "ps_269223600",
"status": "created",
"created_at": "2024-09-12T14:30:45.015376Z",
"updated_at": "2024-09-12T14:30:45.015376Z"
}
}' -
Send a
session/start/payment
request. Specify the unique customer identifier incustomer.reference
and/or the end user's IP inparticipant_details.sender.ipv4
. Note that at least one of these values is required.Request example
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payment \
-H 'content-type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_ps_269223600",
"payment_details": {
"type": "faster_payment_system"
},
"payment_options": {
"return_url": "https://smart-glocal.com"
},
"customer": {
"reference": "lucky"
},
"participant_details": {
"sender": {
"ipv4": "192.168.0.1"
}
}
}'Response example
curl -X POST \
https://partner.com \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"status": "ok",
"session": {
"id": "ps_269223600",
"status": "in_progress",
"created_at": "2024-09-12T14:30:46.526965Z",
"updated_at": "2024-09-12T14:30:46.721229Z",
"acquiring_payments": [
{
"id": "pm_229376900",
"status": "in_progress",
"created_at": "2024-09-12T14:30:46.739560Z",
"customer": {
"reference": "lucky"
},
"participant_details": {
"sender": {
"ipv4": "192.168.0.1"
}
},
"payment_details": {
"type": "faster_payment_system"
},
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://smart-glocal.com",
"recurrent": false
}
}]
}
}' -
Wait for a
ready_to_confirm
webhook. When you receive it, it means that Smart Glocal is ready to make the payment and is waiting for your confirmation.Webhook example
curl -X POST \
https://partner.com \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "ready_to_confirm",
{
"status": "ok",
"session": {
"id": "ps_269223600",
"status": "in_progress",
"created_at": "2024-09-12T14:30:45.015376Z",
"updated_at": "2024-09-12T14:30:45.391978Z",
"acquiring_payments": [
{
"id": "pm_229376900",
"status": "in_progress",
"created_at": "2024-09-12T14:30:45.239773Z",
"customer": {
"reference": "lucky"
},
"participant_details": {
"sender": {
"ipv4": "192.168.0.1"
}
},
"payment_details": {
"type": "faster_payment_system"
},
"amount_details": {
"amount": 5000,
"currency": "RUB"
},
"amounts": {
"fee": {
"merchant_fee": {
"amount": 111,
"currency": "RUB"
}
}
},
"metadata": {
"paymentReference": "payment reference",
"description": "some description"
},
"payment_options": {
"return_url": "https://smart-glocal.com",
"recurrent": false
}
}],
"actions": {
"confirm": "2024-09-12T14:30:46.275850Z"
}
}
}' -
Send a
session/confirm
request or asession/cancel
request to confirm or cancel the operation.Request example
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/confirm \
-H 'content-type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id":"ps_269223600"
}' -
Wait for an
action_required
webhook containing a payment link as a QR code from Smart Glocal and display the QR code to the customer in the web browser. If the link is opened directly on a mobile phone, a list of banks from which to choose will open.Webhook example
curl -X POST \
https://partner.com \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "action_required",
{
"status": "ok",
"session": {
"id": "ps_269223600",
"status": "in_progress",
"created_at": "2024-09-12T14:30:45.015376Z",
"updated_at": "2024-09-12T14:30:45.229719Z",
"acquiring_payments": [
{
"id": "pm_229376900",
"status": "pending",
"created_at": "2024-09-12T14:30:45.239773Z",
"customer": {
"reference": "lucky"
},
"participant_details": {
"sender": {
"ipv4": "192.168.0.1"
}
},
"payment_details": {
"type": "faster_payment_system"
},
"amount_details": {
"amount": 5000,
"currency": "RUB"
},
"customer_interaction": {
"type": "inform",
"inform": {
"qr": {
"content": "https://qr.nspk.ru/AD10004AO4DQJ54B9Q0PLEGTD7V5UEQT?type=01&bank=100000000153&sum=5000&cur=RUB&crc=CEAB",
"img": "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"
}
}
}
}
]
}
}'If you get the
qr_expired
error, it means that the QR code has expired and you need to start over. -
After the customer makes the payment, you will receive a
payment_finished
webhook containing the payment result from Smart Glocal. Thesucceeded
status indicates a successful payment.Webhook example
curl -X POST \
https://partner.com \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "payment_finished",
{
"status": "ok",
"session": {
"id": "ps_269223600",
"status": "accepted",
"created_at": "2024-09-12T14:30:45.015376Z",
"updated_at": "2024-09-12T14:31:14.237089Z",
"acquiring_payments": [
{
"id": "pm_229376900",
"status": "succeeded",
"created_at": "2024-09-12T14:30:45.239773Z",
"finished_at": "2024-09-12T14:31:14.087203Z",
"customer": {
"reference": "lucky",
"contacts": [
{
"phone": "7911*****11"
}]
},
"participant_details": {
"sender": {
"ipv4": "192.168.0.1"
}
},
"payment_details": {
"type": "faster_payment_system"
},
"amount_details": {
"amount": 5000,
"currency": "RUB"
},
"amounts": {
"fee": {
"merchant_fee": {
"amount": 111,
"currency": "RUB"
}
}
},
"metadata": {
"paymentReference": "payment reference",
"description": "some description"
},
"payment_options": {
"return_url": "https://smart-glocal.com",
"recurrent": false
}
}],
"actions": {
"confirm": "2024-09-12T14:30:46.275850Z",
"capture": "2024-09-12T14:31:13.872710Z"
}
}
}'