Payment
- The user is provided with wallet details to which payment must be made.
- The user makes a payment in their wallet app and receives a unique transaction number.
- Next, the user enters a unique transaction number in the payment window, after which the transaction is activated.
- Paykassma sends a postback to the merchant's side.
- Funds are credited to the user’s balance on the merchant platform.
Payment window integration (plugin)
Example of a link to open a KBZpay Manual payment window:
|
---|
wallet_type=kbzpay_manual currency_code=MMK Available languages (lang): en, my
Pay attention to the description of the parameters payment_url_success_id / payment_url_fail_id/ payment_url_pending_id and success_url / fail_url / pending_url.
To use payment_url_success_id / payment_url_fail_id / payment_url_pending_id you need to send the URLs to Paykassma support and use the received IDs in the parameters.
To use success_url / fail_url / pending_url you must use hashing URLs ( For more details on hashing click here ).
For the description of all the plug-in parameters click here.
API integration
Creating payment
URL: https://api.{server_URL}/api/v1/transaction/create/kbzpay_manual?secret={pluginapi_secret}
At this stage we first accept a request for input through the payment system and in response we will provide the wallet details to which the user should transfer the payment. After the payment is made you will need to send a request to activate the transaction.
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
currency | string | yes | 3 | Currency code. |
label | string | yes | 190 | The unique identifier (ID) of the user who makes the payment. |
{ 'currency': 'MMK', 'label': 'eligendi' }
{ "status": "ok", "params": { "kbzpay number": "12321" } }
{ 'status': 'fail', 'message': 'MESSAGE' }
Activation request
URL: http://api.{server_URL}/api/v1/possible-transaction?secret={pluginapi_secret}
Request method:
POST
Format:
form-data
Parameters:
Name | Type | Required | Max Length | Description |
currency_code | string | yes | 3 | Currency code (MMK). |
wallet_type | string | yes | 190 | kbzpay_manual |
label | string | yes | 190 | The unique identifier (ID) of the user who makes the payment. |
key1 | string | yes | 25 | Transaction ID received from the use (15-25 digits). |
screenshot | file | yes | Screenshot of the payment from the user. | |
amount | int | yes | 256 | Payment amount. |
custom_transaction_id | string | yes | 190 | The identifier of the transaction in the Client's system. Must be unique. |
{ "status": "success", "message": "", "code": 20000, "data": [], "paginate": { "offset": 0, "total": 1, "limit": 1 } }
{ 'status': 'fail', 'message': 'MESSAGE' }
Deposit postback
For the general documentation on post backs click here.
Example of a deposit postback for a KBZpay Manual
{ "signature": "f33227723305ae59e4aa75b295f92856225e1b57", "wallet_type": "kbzpay_manual", "amount": 10000, "currency_code": "MMK", "label": "1234", "converted_amount": { "USD": 4.76, "INR": 398, "EUR": 4.37, "IDR": 73921.99, "MYR": 22.17, "VND": 115010.42, "SGD": 6.38, "THB": 167.39, "NGN": 3900.39, "TRY": 137.13, "AED": 17.5, "CAD": 6.53, "AUD": 7.27, "BDT": 527.37, "AFN": 334.48, "ALL": 450.99, "AMD": 1915.39, "AOA": 3953.92, "ARS": 1695.96, "AWG": 8.42, "AZN": 8.1, "BAM": 8.51, "BBD": 9.53, "BGN": 8.53, "BHD": 1.79, "BIF": 13555.29, "BMD": 4.76, "BND": 6.37, "BOB": 32.91, "BRL": 23.35, "BSD": 4.76, "BTC": 0.00013087, "BTN": 396.8, "BWP": 63.92, "BYN": 15.69, "BZD": 9.6, "CDF": 12269.81, "CHF": 4.21, "CLF": 0.15, "CLP": 4142.87, "CNH": 34.05, "CNY": 33.81, "COP": 19211.07, "CRC": 2527.44, "CUC": 4.76, "CUP": 122.68, "CVE": 481.14, "CZK": 107.09, "DJF": 848.34, "DKK": 32.55, "DOP": 271.01, "DZD": 638.91, "EGP": 147.21, "ERN": 71.46, "ETB": 265.86, "FJD": 10.68, "FKP": 3.8, "GBP": 3.8, "GEL": 12.89, "GGP": 3.8, "GHS": 56.96, "GIP": 3.8, "GMD": 320.4, "GNF": 41035.63, "GTQ": 37.28, "GYD": 996.31, "HKD": 37.14, "HNL": 117.74, "HRK": 32.9, "HTG": 631.2, "HUF": 1662.14, "ILS": 17.7, "IMP": 3.8, "IQD": 6239.27, "IRR": 201351.48, "ISK": 668.48, "JEP": 3.8, "JMD": 740.86, "JOD": 3.38, "JPY": 706.31, "KES": 725.95, "KGS": 424.07, "KHR": 19589.16, "KMF": 2148.46, "KPW": 4287.88, "KRW": 6164.84, "KWD": 1.47, "KYD": 3.97, "KZT": 2185.07, "LAK": 98540.01, "LBP": 71595.88, "LKR": 1564.8, "LRD": 895.69, "LSL": 87.53, "LYD": 22.95, "MAD": 48.25, "MDL": 84.44, "MGA": 21523.74, "MKD": 268.21, "MMK": 10000, "MNT": 16436.86, "MOP": 38.24, "MRO": 0, "MRU": 190.02, "MUR": 210.3, "MVR": 73.37, "MWK": 8019.02, "MXN": 81.94, "MZN": 304.2, "NAD": 88.71, "NIO": 174.61, "NOK": 50.85, "NPR": 634.87, "NZD": 7.88, "OMR": 1.83, "PAB": 4.76, "PEN": 17.8, "PGK": 17.76, "PHP": 263.72, "PKR": 1360.29, "PLN": 19.08, "PYG": 35439.16, "QAR": 17.34, "RON": 21.7, "RSD": 510.15, "RUB": 420.34, "RWF": 5886.8, "SAR": 17.87, "SBD": 40.34, "SCR": 63.51, "SDG": 2863.35, "SEK": 49.85, "SHP": 3.8, "SLL": 99905.11, "SOS": 2721.12, "SRD": 180.88, "SSP": 620.6, "STD": 106157.31, "STN": 107.71, "SVC": 41.67, "SYP": 11970.46, "SZL": 87.5, "TJS": 52, "TMT": 16.68, "TND": 14.79, "TOP": 11.31, "TTD": 32.36, "TWD": 149.61, "TZS": 11915, "UAH": 171.96, "UGX": 18034.93, "UYU": 187.79, "UZS": 58452.22, "VEF": 0, "VES": 168.69, "VUV": 565.63, "WST": 13.34, "XAF": 2864.32, "XAG": 0.2, "XAU": 0, "XCD": 12.88, "XDR": 3.58, "XOF": 2864.32, "XPD": 0, "XPF": 521.08, "XPT": 0.01, "YER": 1192.51, "ZAR": 88.65, "ZMW": 110.95, "ZWL": 1534.11, "ETH": 0.00245266, "LTC": 0.07219128, "DOGE": 66.58294586, "DASH": 0.16986823, "BCH": 0.02215688, "ZEC": 0.17741246, "ETC": 0.26494925, "XRP": 8.21697897, "TRX": 49.58453556, "XLM": 42.06387053, "WAVES": 2.49371036, "USDT": 4.76317523, "USDTTRC20": 0, "USDT20": 0 }, "direction": "ingoing", "created_datetime": "2023-11-21 23:30:24", "access_key": "SU8jgmm716Pky0o5zjWA2qvJtieFaYqS", "additional_data": [ { "activated_datetime": "2023-11-22 02:30:22", "exchanger_identifier": null, "comment": "", "amount": "10000", "currency_code": "MMK", "wallet_type": "kbzpay_manual", "stockpiling_id": 1252, "transaction_id": "01003246080588218368", "transaction_type": 0, "plugin_custom_order_id": "test", "withdrawal_id": null, "withdrawal_status": null, "account_number": "", "account_name": "", "account_email": "", "bank_details": { "bank_code": "", "branch_code": "" } } ] }
The Paykassma server is waiting for a response in json {"status": "ok"} response code 200, otherwise, when receiving a different response, Paykassma will forward the postback with a certain frequency.
Repeated postbacks must also be answered with {"status":"ok"} response code 200.
Withdrawals for users
For the general documentation on the withdrawals of funds click here.
Creating withdrawal
URL: https://api.{server_URL}/v2/withdrawal/create
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Description |
withdrawal_id | string | yes | Withdrawal ID, if the parameter is not passed, then the system generates withdrawal _id. |
payment_system | string | yes | Payment system. |
amount | int | required | Additional requirements:
|
currency_code | string | yes | Currency code. |
label | string | yes | The unique identifier (ID) of the user who makes the payment. |
account_number | string | yes | The eleven-digit account number of the customer's user in KBZpay Validation:
|
is_test | boolean | yes | The is_test parameter possible values:
|
signature | string | yes | Signature generated with private_key. |
{ "withdrawal_id": "1234567test1234", "payment_system": "kbzpay_manual", "amount": 30000, "currency_code": "MMK", "label": "125199", "account_number": "09444595698", "is_test": true, "signature": "1bfb60ae114b102fff0409804da2302f4f7fbee5" }
{ "status": "ok" }
{ 'status': 'fail', 'message': 'MESSAGE' }
*If, when trying to create a withdrawal request, the amount of account balances in the currency of the request is less than the total amount of new and still incomplete applications, the error message"Insufficient balance" will be displayed (to configure this functionality, contact the TS Paykassma).
{ "status": "fail", "message": { "withdrawals_sum_amount": [ "Insufficient balance" ] } }
Example of a withdrawal postback for a KBZpay Manual
{ "signature": "66e711eedd6e35e023bbe58a182074aa89997ad1", "wallet_type": "kbzpay_manual", "amount": 30000, "currency_code": "MMK", "label": "125199", "converted_amount": { "USD": 14.29, "INR": 1192, "EUR": 13.1, "IDR": 221765.98, "MYR": 66.5, "VND": 345031.26, "SGD": 19.13, "THB": 502.18, "NGN": 11701.17, "TRY": 411.4, "AED": 52.5, "CAD": 19.58, "AUD": 21.81, "BDT": 1582.12, "AFN": 1003.45, "ALL": 1352.96, "AMD": 5746.16, "AOA": 11861.77, "ARS": 5087.88, "AWG": 25.27, "AZN": 24.3, "BAM": 25.54, "BBD": 28.59, "BGN": 25.6, "BHD": 5.38, "BIF": 40665.88, "BMD": 14.29, "BND": 19.1, "BOB": 98.72, "BRL": 70.05, "BSD": 14.29, "BTC": 0.00039262, "BTN": 1190.4, "BWP": 191.76, "BYN": 47.07, "BZD": 28.8, "CDF": 36809.43, "CHF": 12.63, "CLF": 0.45, "CLP": 12428.62, "CNH": 102.14, "CNY": 101.44, "COP": 57633.21, "CRC": 7582.32, "CUC": 14.29, "CUP": 368.04, "CVE": 1443.42, "CZK": 321.26, "DJF": 2545.03, "DKK": 97.65, "DOP": 813.02, "DZD": 1916.73, "EGP": 441.63, "ERN": 214.39, "ETB": 797.57, "FJD": 32.04, "FKP": 11.4, "GBP": 11.4, "GEL": 38.66, "GGP": 11.4, "GHS": 170.89, "GIP": 11.4, "GMD": 961.2, "GNF": 123106.9, "GTQ": 111.85, "GYD": 2988.92, "HKD": 111.42, "HNL": 353.21, "HRK": 98.69, "HTG": 1893.59, "HUF": 4986.42, "ILS": 53.1, "IMP": 11.4, "IQD": 18717.81, "IRR": 604054.45, "ISK": 2005.44, "JEP": 11.4, "JMD": 2222.58, "JOD": 10.14, "JPY": 2118.94, "KES": 2177.84, "KGS": 1272.21, "KHR": 58767.49, "KMF": 6445.39, "KPW": 12863.63, "KRW": 18494.52, "KWD": 4.4, "KYD": 11.9, "KZT": 6555.2, "LAK": 295620.04, "LBP": 214787.64, "LKR": 4694.4, "LRD": 2687.07, "LSL": 262.58, "LYD": 68.86, "MAD": 144.74, "MDL": 253.33, "MGA": 64571.22, "MKD": 804.63, "MMK": 30000, "MNT": 49310.57, "MOP": 114.71, "MRO": 0, "MRU": 570.07, "MUR": 630.89, "MVR": 220.11, "MWK": 24057.07, "MXN": 245.82, "MZN": 912.6, "NAD": 266.13, "NIO": 523.84, "NOK": 152.55, "NPR": 1904.62, "NZD": 23.63, "OMR": 5.5, "PAB": 14.29, "PEN": 53.41, "PGK": 53.28, "PHP": 791.17, "PKR": 4080.87, "PLN": 57.25, "PYG": 106317.47, "QAR": 52.03, "RON": 65.1, "RSD": 1530.45, "RUB": 1261.02, "RWF": 17660.41, "SAR": 53.61, "SBD": 121.03, "SCR": 190.52, "SDG": 8590.04, "SEK": 149.55, "SHP": 11.4, "SLL": 299715.34, "SOS": 8163.35, "SRD": 542.65, "SSP": 1861.8, "STD": 318471.94, "STN": 323.14, "SVC": 125, "SYP": 35911.39, "SZL": 262.49, "TJS": 156, "TMT": 50.03, "TND": 44.36, "TOP": 33.92, "TTD": 97.07, "TWD": 448.83, "TZS": 35745.01, "UAH": 515.88, "UGX": 54104.78, "UYU": 563.36, "UZS": 175356.66, "VEF": 0, "VES": 506.07, "VUV": 1696.88, "WST": 40.02, "XAF": 8592.97, "XAG": 0.6, "XAU": 0.01, "XCD": 38.63, "XDR": 10.73, "XOF": 8592.97, "XPD": 0.01, "XPF": 1563.23, "XPT": 0.02, "YER": 3577.52, "ZAR": 265.94, "ZMW": 332.86, "ZWL": 4602.32, "ETH": 0.00735799, "LTC": 0.21657386, "DOGE": 199.74883758, "DASH": 0.5096047, "BCH": 0.06647064, "ZEC": 0.53223739, "ETC": 0.79484775, "XRP": 24.65093693, "TRX": 148.75360668, "XLM": 126.19161159, "WAVES": 7.4811311, "USDT": 14.28952571, "USDTTRC20": 0, "USDT20": 0 }, "direction": "outgoing", "created_datetime": "2023-11-21 23:36:01", "access_key": "SU8jgmm716Pky0o5zjWA2qvJtieFaYqS", "additional_data": [ { "activated_datetime": "", "exchanger_identifier": "", "comment": "test", "amount": "30000", "currency_code": "MMK", "wallet_type": "kbzpay_manual", "stockpiling_id": null, "transaction_id": "", "transaction_type": null, "plugin_custom_order_id": "", "withdrawal_id": "1234567test1234", "withdrawal_status": 5, "account_number": "09444595698", "account_name": "", "account_email": "", "bank_details": { "bank_code": null, "branch_code": null } } ] }
The Paykassma server is waiting for a response in json {"status": "ok"} response code 200, otherwise, when receiving a different response, Paykassma will forward the postback with a certain frequency.
Repeated postbacks must also be answered with {"status":"ok"} response code 200.
Withdrawal statuses
1 | SUCCESS | Status for withdrawal when the withdrawal request has been successfully processed. |
5 | FAIL | Status for withdrawal when the withdrawal request was rejected. |
Creating withdrawal request in Paykassma BO
To create a withdrawal request, you need to go to the Withdrawals page Payments → Withdrawals and perform the following steps
- Press the button "Add withdrawal request".
- Select payment system from list.
- Fill in the fields to create the request in the next window (the list of fields is standardized and not all fields are required. To create a request for a specific PS, you should fill in the required fields for this PS).
Required fields for KBZpay Manual withdrawal:
- Label (user ID);
- Amount;
- Currency;
- Wallet recipient.
4. After payment the withdrawal status will change.
Paykassma does not send postback for withdrawals created manually.