QIWI Kazakhstan
Overview
QIWI Kazakhstan is payment method that allows you to process payments by using e-wallets and kiosks. You can perform purchases through this method by using Gate. Download the logo in vector format here. |
Payment method type |
|
---|---|
Countries and regions | Kazakhstan |
Payment currencies | KZT |
Currency conversion | |
Purchases | |
Payouts | |
COF payments | |
Full refunds | |
Partial refunds | |
Chargebacks | |
Notes | For e-wallets, it is possible to make only payments with no invoices to the benefit of specific merchants. |
Onboarding and access fee | Refer to your key account manager at Rocketpay |
Interaction diagram
Payment processing by using the QIWI Kazakhstan payment method requires merchant's web service, one of Rocketpay interfaces, and the Rocketpay payment platform, as well as QIWI Kazakhstan service.
Figure: Interaction diagram for purchase by using QIWI Kazakhstan kiosks and e-wallets
Operations support
Interfaces | Amounts, KZT | Times | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard | minimum | maximum | basic | threshold | |
Purchases | * | 30 days |
* Refer to your key account manager at Rocketpay for details.
You can check the payment amount limits in your project by using Dashboard. To check your payment amount limits, go to Dashboard, select the Projects section and click the Payment methods tab.
Processing scenarios
To perform a purchase operation in the QIWI Kazakhstan method, you need to have the customer to pay by using QIWI Kazakhstan kiosk.
Figure: Purchase by using Gate via kiosk or e-wallet
The sections that follow provide detailed information about what you need to perform payments and how you can analyze the information on payments and operations.
Purchase by using Gate via kiosk
General information
In the QIWI Kazakhstan method, when processing a purchase by using Gate, the merchant web service is required to do the following:
- Process request for checking customer account existence.
- Send information about customer account existence.
- Process request for receiving payment identifier on the web service side.
- Send payment identifier.
- Get the callback with the payment result from the payment platform.
The following diagram provides the detailed picture of the payment processing procedure.
Figure: Purchase sequence by using Gate via kiosk
- Customer selects a web service, the personal account in which he wants to replenish, and then enters his credentials in the merchant system.
- The kiosk sends request for checking customer account existence to the specified Rocketpay URL.
- The payment platform performs the initial request processing that includes validation of the required parameters and signature.
- The payment platform sends request for checking customer account existence to the web service.
- The request is processed on the web service side.
- The web service sends response to the request.
- The payment platform sends customer account data to the QIWI Kazakhstan service.
- The QIWI Kazakhstan payment form is displayed to the customer.
- The customers pays by cash to replenish personal account.
- The payment is processed on the QIWI Kazakhstan side.
- The QIWI Kazakhstan service sends the payment result notification to the payment platform.
- The payment platform sends request to the web service for payment identifier on the web service side.
- The request is processed on the web service side.
- The web service sends payment identifier to the payment platform.
- Operation is created on the payment platform side.
- The payment platform sends the callback to the web service.
- The customer receives the payment result on the kiosk screen.
The sections that follow discuss in more details the request format and the Gate parameters to use in the QIWI Kazakhstan payment method and provide the information on the format of callbacks with purchase results.
Request format
There are several things you must consider when using requests for checking account existence in the QIWI Kazakhstan method:
- The
verify
request for checking account existence is sent by using HTTP method POST to the specified web service URL. - The request contains the following required parameters:
- type—operation type on the web service side, value is always
verify
- customer_id—customer identifier on the web service side
- project_id—the project ID obtained from Rocketpay
- signature—signature created after you specify all the required parameters
Figure: Example of a request for checking account existence
{ "type":"verify", "project_id":111, "customer_id":"johndoe@example.com", "signature":"lY0LT8AzpR7zGce5qfYGacOuYlHGWqkMcQlqmjlsDDZI2gVcE1qVeWANnkIR7mdOqRXJnL1kO0lUmkQ0YYLWRg==" }
- type—operation type on the web service side, value is always
- Response to the
verify
request must be synchronously sent and contain the following required parameters:- code—response code
- currency—currency in the ISO-4217 alpha-3 format
Table 1. Allowed response codes Code Description 0
Successful operation 400
Signature is invalid 404
Account does not exist 500
General error. The reason should be specified in the message parameter Figure: Example of the response
{ "code":0, "currency":"KZT", "additional_customer_id": "HFVDW42345" }
There are several things you must consider when using requests for payment identifier on the web service side:
- The
check_deposit
request for payment identifier is sent by using HTTP method POST to the specified web service URL. - The request contains the following required parameters:
- type—operation type on the web service side, value is always
check_deposit
- customer_id—customer identifier on the web service side
- project_id—the project ID obtained from Rocketpay
- amount—purchase amount in minor currency units without any decimal point or comma except for cases where the currency does not have any minor currency units. If the currency has no minor units (that is, the number of digits for minor currency units is zero), then you must set this parameter to the amount in the major currency units. For the information on whether the currency has any minor units, see Currency codes.
- currency—currency in the ISO-4217 alpha-3 format
- payment_method—payment method name, value is always
qiwi-kz
; - signature—signature created after you specify all the required parameters
Figure: Example of a request for payment identifier
{ "type":"check_deposit", "project_id":111, "customer_id":"johndoe@example.com", "amount":10000, "currency":"KZT", "payment_method":"qiwi-kz", "signature":"lY0LTSAzpR7zGce5qfYGacOuYlHGWqkMcQlqmjlsDDZI2gVcE1qVeWANnkIR7mdOqRXJnL1kO0lUmkQ0YYLWRg==" }
- type—operation type on the web service side, value is always
- Response to the
check_deposit
request must be synchronously sent and contain the following required parameters:- code—response code
- payment_id—payment ID unique within the project
Table 2. Allowed response codes Code Description 0
Successful operation 400
Signature is invalid 404
Account does not exist 500
General error. The reason should be specified in the message parameter Figure: Example of the response
{ "code":0, "payment_id":"Asfdsaf3252345" }
Callback format
The QIWI Kazakhstan method uses the standard format for callbacks to deliver purchase results. For more information, see Callbacks in Gate.
The following is the example of a callback with an information about successful 20.00 KZT
purchase made by the user9876
customer in the 238
project.
Figure: Example of a successful purchase callback
{ "project_id": 238, "payment": { "id": "1554967098", "type": "purchase", "status": "success", "date": "2019-04-11T07:18:20+0000", "method": "Qiwi Kz Kiosk", "sum": { "amount": 2000, "currency": "KZT" }, "description": "" }, "account": { "number": "user9876" }, "operation": { "id": 36425000001206, "type": "sale", "status": "success", "date": "2019-04-11T07:18:20+0000", "created_date": "2019-04-11T07:18:19+0000", "request_id": "25f3114242a16ab1e010ebab4fe816b9d105ff33b90281", "sum_initial": { "amount": 2000, "currency": "KZT" }, "sum_converted": { "amount": 2000, "currency": "KZT" }, "provider": { "id": 1197, "payment_id": "999990000001a1", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "HRcDJN84ghAJL2hPW9yUbVMm7SRPewQJuH+mz4gcipXc8sI dToQunzSUEiy7w5vA3+MVIO8xHSNsQB5qCCm5kXA==" } }
Related topics
The following topics might be useful when implementing payments through Gate:
Purchase by using Gate via e-wallet
General information
In the QIWI Kazakhstan method, when processing a purchase by using Gate, the merchant web service is required to do the following:
- Process the request to check whether the customer account exists .
- Respond with the information whether the customer account exists.
- Process request for payment identifier on the web service side.
- Respond with the payment identifier.
- Accept the callback with the payment result from the payment platform.
The following diagram provides the detailed picture of the payment processing procedure.
Figure: Workflow for processing purchase with e-wallet by using Gate
- Customer opens QIWI Kazakhstan e-wallet app, selects merchant account to credit, and then enters amount and initiates payment.
- E-wallet sends a request for checking whether customer account exists to the Rocketpay URL.
- The payment platform performs the initial request processing that includes validation of the required parameters and signature.
- The payment platform sends request for checking customer account existence to the web service.
- The web service processes the request.
- The web service sends the response to the payment platform.
- The payment platform sends customer account data to the QIWI Kazakhstan service.
- The QIWI Kazakhstan payment form is displayed to the customer.
- The customer uses the QIWI e-wallet to credit personal account.
- The QIWI Kazakhstan service processes the request.
- The QIWI Kazakhstan service sends purchase outcome information to the payment platform.
- The payment platform sends request for payment identifier to the web service.
- The web service processes the request.
- The web service sends payment identifier to the payment platform.
- The operation is created in the payment platform.
- The payment platform sends the payment outcome information to the web service.
- The payment outcome information is displayed to the customer on the e-wallet .
The sections that follow discuss in more details the request format and the Gate parameters to use in the QIWI Kazakhstan payment method and provide the information on the format of callbacks with purchase results.
Request format
There are several things you must consider when using purchase requests in the QIWI Kazakhstan method:- The
verify
request to check for the account existence is sent by using HTTP method POST to the web service URL. - The following required parameters must be specified in any request:
- type—operation type on the web service side, value is always
verify
- customer_id—customer identifier on the web service side
- project_id—the project ID obtained from Rocketpay
- signature—signature created after you specify all the required parameters
Figure: Example of a request to check for the account existence
{ "type":"verify", "project_id":111, "customer_id":"johndoe@example.com", "signature":"lY0LT8AzpR7zGce5qfYGacOuYlHG...kIR7mdOqRXJnL1kO0lUmkQ0YYLWRg==" }
- type—operation type on the web service side, value is always
- Response to the
verify
request must be sent synchronously and contain the following required parameters:- code—response code
- currency—currency in the ISO-4217 alpha-3 format
Table 3. Allowed response codes Code Description 0
Successful operation 400
Signature is invalid 404
Account does not exist 500
General error. The reason can be specified in an optional message parameter. Figure: Example of the response the
verify
request{ "code":0, "currency":"KZT", "additional_customer_id": "HFVDW42345" }
There are several things you must consider when using requests for payment identifier on the web service side:
- The
check_deposit
request for payment identifier in the web service is sent to the web service URL by using HTTP method POST. - The request contains the following required parameters:
- type—operation type on the web service side, value is always
check_deposit
- customer_id—customer identifier assigned by the web service
- project_id—the project ID obtained from Rocketpay
- amount—purchase amount in minor currency units without any decimal point or comma except for cases where the currency does not have any minor currency units. If the currency has no minor units (that is, the number of digits for minor currency units is zero), then you must set this parameter to the amount in the major currency units. For the information on whether the currency has any minor units, see Currency codes.
- currency—currency in the ISO-4217 alpha-3 format
- payment_method—payment method name, value is always
qiwi-kz
; - signature—signature created after you specify all the required parameters
Figure: Example of a request for payment identifier assigned by the web service
{ "type":"check_deposit", "project_id":111, "customer_id":"johndoe@example.com", "amount":10000, "currency":"KZT", "payment_method":"qiwi-kz", "signature":"lY0LTSAzpR7zGce5qfYGacOuYlHGWqkMcQl...Q0YYLWRg==" }
- type—operation type on the web service side, value is always
- Response to the
check_deposit
request must be sent synchronously and contain the following required parameters:- code—response code
- payment_id—payment ID unique within the project
Table 4. Allowed response codes Code Description 0
Successful operation 400
Signature is invalid 404
Account does not exist 500
General error. The reason can be specified in an optional message parameter. Figure: Example of the response to the
check_deposit
request{ "code":0, "payment_id":"Asfdsaf3252345" }
Callback format
The QIWI Kazakhstan method uses the standard format for callbacks to deliver purchase results. For more information, see Callbacks in Gate.
The following is the example of a callback with an information about successful 20.00 KZT
purchase made in the 238
project.
Figure: Example of a successful purchase callback
{ "project_id": 238, "payment": { "id": "1554967098", "type": "purchase", "status": "success", "date": "2019-04-11T07:18:20+0000", "method": "Qiwi Kz Terminal", "sum": { "amount": 2000, "currency": "KZT" }, "description": "" }, "account": { "number": "user9876" }, "operation": { "id": 36425000001206, "type": "sale", "status": "success", "date": "2019-04-11T07:18:20+0000", "created_date": "2019-04-11T07:18:19+0000", "request_id": "25f3114242a16ab1e010ebab4fe816b9d105ff33b90281", "sum_initial": { "amount": 2000, "currency": "KZT" }, "sum_converted": { "amount": 2000, "currency": "KZT" }, "provider": { "id": 1197, "payment_id": "999990000001a1", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "HRcDJN84ghAJL2hPW9yUbVMm7SRPewQJuH+mz4gcipXc8sI dToQunzSUEiy7w5vA3+MVIO8xHSNsQB5qCCm5kXA==" } }
Related topics
The following topics might be useful when implementing payments through Gate:
Analysis of payments results
As with other payment methods Rocketpay offers, when using this method, you have several options to analyze the information about payments and operations.
You can load and analyze all the necessary information in Dashboard (dashboard.rocketpay.kz
), for instance you can use the analytic panels in the Analytics section for this purpose.
Also, you can export the information for further analysis by using third party analytical tools. The following options are available:
- Dashboard allows you to download reports in CSV format by using the tools in the Reports section. You can perform export as a one-time or regular download of data to your local computer.
- Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by means of sending requests to the /operations/get endpoint.
If you have any further questions regarding payment data analysis, contact Rocketpay technical support.