QR payment starts with scanning the QR displayed on the Pos screen from within the application, after selecting the product and amount. Request for QR payment transaction is sent to Mobile api(Begin3rdPartyQRCodePayment ()). By running the Mobile api Payment method, the sales amount is deducted from the user's wallet balance. (Complete3rdPartyQRCodePayment ()).
The relevant endpoint and http method information for the service to which the pre-payment transaction information is returned are given below.
HTTP Method | URL |
---|---|
POST | /v1/Transaction/Begin3rdPartyQRCodePayment |
Params | Type | Mandatory |
---|---|---|
wallet_number | string | Yes |
provider_id | string | Yes |
qr_code | string | Yes |
qr_code_type | int | Yes |
Params | Type |
---|---|
transaction_id | string |
MerchantNo | string |
TerminalNo | string |
MerchantName | string |
BrandId | Int |
BrandName | string |
CityName | string |
DistrictName | string |
RequestAmount | Decimal |
BatchNo | Int |
TransactionId | Int |
ProductId | Int |
ProductName | string |
KDV | string |
DiscountRatio | string |
CurrencyId | string |
SelfRefCode | string |
SessionExpireDate | string |
ResponseCode | int |
ResponseMessage | string |
ErrorMessage | string |
REQUEST (POST) :
{
“wallet_number”: “xxx1xxx”,
“provider_id”: 112233,
“qr_code”: 777B77,
“qr_code_type”: 1
}
RESPONSE:
{
"status": 0,
"code": "100",
"message": null,
"payload": {
" tx_correlation_id ": "7777777777777777777",
"payment_data": "{
"MerchantNo": "0007777777",
"TerminalNo": "0007777777",
"MerchantName": "Test_58",
"BrandId": 0,
"BrandName": "",
"CityName": "Antalya",
"DistrictName": "Aksu",
"RequestAmount": 0.13,
"BatchNo": 1,
"TransactionId": 98598610,
"ProductId": 2,
"ProductName": "RESTO %1",
"Kdv": "1,00",
"DiscountRatio": "0,00",
"CurrencyId": "1",
"SaleRefCode": "7777777777777777777777",
"SessionExpireDate": "2021-04-01T08:38:40.51",
"ResponseCode": 0,
"ResponseMessage": "Sorgulama işlemi başarılı.",
"ErrorMessage": null } "
}
}
The sale transaction is completed and the relevant endpoint and http method information for the customer's wallet balance transaction are given below.
HTTP Method | URL |
---|---|
POST | v1/Transaction/Complete3rdPartyQRCodePayment |
Parametre | Tip | Zorunlu |
---|---|---|
wallet_number | string | Yes |
provider_id | string | Yes |
tx_correlation_id | int | Yes |
Parametre | Tip |
---|---|
code | Int |
message | string |
transaction_id | string |
transaction_amount | string |
transaction_fee | Decimal |
charged_amount | İnt |
ext_order_id | İnt |
saleRefCode | string |
transactionId | string |
business_code | string |
business_name | string |
friendly_name | string |
receiver_account_number | string |
receiver_wallet_number | string |
sender_wallet_info | string |
id | string |
tenant_id | string |
name | string |
account_number | string |
account_type | string |
created_date_utc | string |
number | string |
phone_country_code | string |
phone_number | string |
string | |
total_balance | string |
access_level_status_id | string |
access_level_status | string |
payment_balance | string |
available | string |
unavailable | string |
cash_balance | string |
available | string |
unavailable | string |
transaction_limits | string |
max_balance | string |
topup_credit_limit | string |
topup_cash_limit | string |
withdrawal_limit | string |
payment_limit | string |
wallet_to_wallet_limit | string |
kyc_level_status | string |
currency_code | string |
user_kyc_info | string |
is_topup_default | boolean |
tax_number | string |
loyalty_record_required | boolean |
REQUEST (POST) :
{
"wallet_number": "111111111",
"provider_id": "eeeeeeee",
"tx_correlation_id": 7777777777777777777777
}
RESPONSE:
{
"status": 0,
"code": "100",
"message": "İşlem başarılı",
"payload": {
"transaction_id": "55555560555665555555",
"transaction_amount": 100.0000,
"transaction_fee": 0.0000,
"charged_amount": 100.0000,
"ext_order_id": "{\"saleRefCode\":\"5555055555555555555\",\"transactionId\":55555555}",
"business_code": "",
"business_name": "",
"friendly_name": "",
"receiver_account_number": "EEEEEEOE00",
"receiver_wallet_number": "7777777777",
"sender_wallet_info": {
"id": "7997777777777777777",
"tenant_id": "5",
"name": "",
"account_number": "EEEEEE010",
"account_type": "Personal",
"created_date_utc": "2021-09-20T10:52:35.5927212+00:00",
"number": "777777777",
"phone_country_code": null,
"phone_number": null,
"email": null,
"total_balance": 796.00,
"access_level_status_id": 1,
"access_level_status": "Aktif",
"payment_balance": {
"available": 796.00,
"unavailable": 0.00
},
"cash_balance": {
"available": 0.00,
"unavailable": 0.00
},
"transaction_limits": {
"max_balance": 1250.0000,
"topup_credit_limit": 1250.0000,
"topup_cash_limit": 1250.0000,
"withdrawal_limit": 1250.0000,
"payment_limit": 1250.0000,
"wallet_to_wallet_limit": 1250.0000
},
"kyc_level_status": null,
"currency_code": "TRY",
"user_kyc_info": null,
"is_topup_default": false,
"tax_number": null,
"loyalty_record_required": false,
}
}
}