QR ödeme ürün ve tutar seçiminin ardından Pos ekranında gösterilen QR ın uygulama içerisinden okutulmasıyla başlar. Mobil Apiye QR ödeme işlemi için istek gönderilir (Begin3rdPartyQRCodePayment ()). Mobil Api Payment metodunu çalıştırarak satış tutarını kullanıcının cüzdan bakiyesinden düşer. (Complete3rdPartyQRCodePayment ()).
Ödeme öncesi işlem bilgilerinin dönüldüğü servis için ilgili endpoint ve http metod bilgisi aşağıda verilmiştir.
HTTP Method | URL |
---|---|
POST | /v1/Transaction/Begin3rdPartyQRCodePayment |
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
wallet_number | string | Evet | Cüzdan Numarası |
provider_id | string | Evet | Entegrasyon Yapılan Firma İd’si |
qr_code | string | Evet | Qr Kodu |
qr_code_type | int | Evet | Qr Kod Tipi (1: default, 2: short) |
Parametre | Tip | Açıklama |
---|---|---|
status | int | İşlem Statüsü |
code | string | Kod |
message | string | Mesaj |
payload | obje | Veri |
transaction_id | string | Mağaza Kodu |
MerchantNo | string | Terminal Kodu |
TerminalNo | string | Tabela Adı |
MerchantName | string | Mağaza Adı |
BrandId | Int | Marka Id si |
BrandName | string | Marka İsmi |
CityName | string | Şehir İsmi |
DistrictName | string | İlçe İsmi |
RequestAmount | Decimal | İşlem Tutarı |
BatchNo | Int | Gün Sonu No |
TransactionId | Int | Onay Numarası |
ProductId | Int | Ürün Id |
ProductName | string | Ürün İsmi |
KDV | string | Ürün Kdv'si |
DiscountRatio | string | İndirim Oranı |
CurrencyId | string | TL |
SelfRefCode | string | Satış İşlemini Temsil Eden Benzersiz Referans Numarası |
SessionExpireDate | string | İşlem Timeout Süresi |
ResponseCode | int | İşlem başarısız ise hata kodu, başarılı ise “0” dönmektedir |
ResponseMessage | string | Sonuç Mesajı |
ErrorMessage | string | Hata Mesajı |
İSTEK (POST) :
{
“wallet_number”: “xxx1xxx”,
“provider_id”: 112233,
“qr_code”: 777B77,
“qr_code_type”: 1
}
YANIT:
{
"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 } "
}
}
Satış işlemi tamamlanarak tutar müşterinin cüzdan bakiyesi işlemi için ilgili endpoint ve http metod bilgisi aşağıda verilmiştir.
HTTP Method | URL |
---|---|
POST | v1/Transaction/Complete3rdPartyQRCodePayment |
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
wallet_number | string | Evet | Cüzdan Numarası |
provider_id | string | Evet | Entegrasyon Yapılan Firma İd’si |
tx_correlation_id | int | Evet | BeginQRCodePayment sonrasında dönen tx id |
Parametre | Tip | Açıklama |
---|---|---|
status | int | Statü |
code | string | İşlem başarısız ise hata kodu, başarılı ise “0” dönmektedir. |
message | string | İşlemin başarılı/başarısız sonucunu belirtir. |
transaction_id | string | Mağaza Numarası |
transaction_amount | string | Terminal kodu |
transaction_fee | Decimal | İptal/İade edilecek satış işleminin tutarı |
charged_amount | İnt | İşlem başarısız ise hata kodu, başarılı ise “0” dönmektedir |
ext_order_id | İnt | İşlemin başarılı/başarısız sonucunu belirtir. |
saleRefCode | string | Onay Numarası |
transactionId | string | İşletme Kodu |
business_code | string | İşletme Adı |
business_name | string | friendly_name |
friendly_name | string | Hatalı işlemlerde hata nedenini belirtir |
receiver_account_number | string | Alıcı Müşteri Numarası |
receiver_wallet_number | string | Alıcı Cüzdan Numarası |
sender_wallet_info | string | Gönderici Cüzdan Bilgisi |
id | string | ID |
name | string | İsim |
account_number | string | Hesap Numarası |
account_type | string | Hesap Tipi |
created_date_utc | string | Oluşturma Tarihi |
number | string | Numara |
phone_country_code | string | Ülke Telefon Kodu |
phone_number | string | Telefon Numarası |
string | Mail Adresi | |
total_balance | string | Toplam Bakiye |
access_level_status_id | string | Aktif/Pasif Seviyesi ID’si |
access_level_status | string | Aktif/Pasif Seviyesi |
payment_balance | string | Ödeme Bakiyesi |
available | string | Ödeme Bakiyesi /Kullanılabilir |
unavailable | string | Ödeme Bakiyesi /Kullanılamayan |
cash_balance | string | Nakit Bakiye |
available | string | Nakit Bakiye / Kullanılabilir |
unavailable | string | Nakit Bakiye / Kullanılamayan |
transaction_limits | string | İşlem Limiti |
max_balance | string | İşlem Limitleri / maksimum bakiye |
topup_credit_limit | string | İşlem Limitleri / toplam kredi kart ile yüklenebilecek tutar |
topup_cash_limit | string | İşlem Limitleri / toplam nakit yüklenebilecek bakiye |
withdrawal_limit | string | İşlem Limitleri / toplam çekim limiti |
payment_limit | string | İşlem Limitleri / Toplam Ödeme Limiti |
wallet_to_wallet_limit | string | İşlem Limitleri / Toplam Cüzdanlar arası transfer limiti |
kyc_level_status | string | KYC Seviye Statüsü |
currency_code | string | Para Birimi |
user_kyc_info | string | Kullanıcı KYC Bilgisi |
İSTEK (POST) :
{
"wallet_number": "111111111",
"provider_id": "eeeeeeee",
"tx_correlation_id": 7777777777777777777777
}
YANIT:
{
"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",
"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
}
}
}