Description (Pre-Create Transaction)
Pre-Create Transactions for The gateways. (POST)
- * This qr code has a lifetime of 24 hours
End Point
https://api.yedpay.com/v1/precreate/{{store_id}}
Variable
# | Name | Type | Description |
---|---|---|---|
1 | store_id | String | Store's ID |
Request Header
# | Key | Value | Description |
---|---|---|---|
1 | Authorization | Bearer {{access_token}} | Login Token |
2 | Content-Type | application/x-www-form-urlencoded | x-www-form-urlencoded Format |
Body
# | Name | Type | Description |
---|---|---|---|
1 | gateway_id | id | (1 - Alipay, 4 - Alipay Online, 8 - WeChatPay) |
2 | amount | Numeric String | Transaction Amount (Maximum 2 decimal places) |
3 | currency | String | Transaction currency |
4 | return_url | String(255) | Redirect url when transaction is done *Mandatory in Alipay Online |
5 | notify_url | String(255) |
Endpoint to notify the transaction *Not needed in Alipay Global *Mandatory for Alipay Online *Only allowed HTTP and HTTPS ports (80 and 443) for notify_url |
6 | wallet | String |
Alipay Wallet to create the transaction (CN, HK) * Optional * Default value - HK * Only for Alipay Global and Alipay Online |
7 | extra_parameters | String | (optional) Be used for send information; information shall be written in the format of Json with and max lenght of 200 characters. |
8 | custom_id | String(36) | (optional) Unique ID Send By Customer, only letters and numbers, underscore and dash are accepted. Maximum length: 36 |
9 | fixed_id | String | (optional) Id of the Fixed Code |
10 | device_token | String | (optional) token generated by device |
11 | device_platform | String | (optional) (required with device_token) platform to send notification (android, ios) |
12 | device_provider | String | (optional) (required with device_token) Provider of device's notification ('jpush', 'fcm') |
Response
# | Name | Type | Description |
---|---|---|---|
1 | success | Boolean | The request is received without error. |
2 | data | Array | Include transaction's information (id, user_id, company_id etc..) |
Success Response - data
# | Name | Type | Description |
---|---|---|---|
1 | id | String | Id of the transaction |
2 | user_id | String | Id of the user who create the transaction |
3 | company_id | String | Id of the Company |
4 | store_id | String | Id of the Store |
5 | gateway_id | Integer | Id of the Gateway used to Generate the transaction |
6 | gateway_sub_id | Integer | Id of gateway subtype, default 1 |
7 | gateway_sub_name | String | Name of the gateway subtype |
8 | gateway_code | String | {{gateway_id}}_{{gateway_sub_id}} |
9 | barcode_id | String | Id of the Barcode uset to generate the transaction (only apply for alipay Global) |
10 | status | String | Status of the transaction |
11 | amount | Float | Amount of the transaction |
12 | currency | String | Currency of the transaction |
13 | charge | String | Total of charge fee for the transaction |
14 | refunded | String | Refunded Amount of the Transaction |
15 | refund_charge | String | Refund Charge of the Transaction |
16 | net | String | Net Amount of the Transaction |
17 | tips | String | Tips Amount of the Transaction |
18 | forex | Double | Forex |
19 | paid_at | String | Date when the transaction was paid "YYYY-mm-dd h:i:s" |
20 | can_settle_after | String | Date when the transaction balance will be settled "YYYY-mm-dd h:i:s" |
21 | is_balance_settled | Boolean | The transaction balance is settled or not |
22 | settled_at | String | Date when the transaction was settled "YYYY-mm-dd h:i:s" |
23 | transaction_id | String | Unique transaction identifier of Yedpay |
24 | reference_id | String | Transaction identifier of the Gateway Provider |
25 | payer | String | Email of the payer (Alipay Global) |
26 | buyer_id | String | Buyer identity (Alipay Global) |
27 | wallet_type | String | Wallet type of the transaction (Applicable for Alipay and WeChatPay) |
28 | extra_parameters | String | (optional) Custom information send by customer |
29 | custom_id | String | (optional) Custom Id Send By Customer |
30 | fixed_id | String | (optional) Id of the Fixed Code |
31 | refunded_at | String | Date when the transaction was Refunded "YYYY-mm-dd h:i:s" |
32 | created_at | String | Date when the transaction was created "YYYY-mm-dd h:i:s" |
33 | updated_at | String | Date when the was Updated "YYYY-mm-dd h:i:s" |
34 | expired_at | String | (optional) Date when the transaction Expire "YYYY-mm-dd h:i:s" |
35 | pin_key | String | (optional) PIN Key for pin encryption (Applicable for UnionPay POS and precreated transaction status) |
36 | _links | Array | Include Checkout and QRCode Links:
- checkout - qrcode - (alipay online) checkout_wap - (alipay online) checkout_code - (alipay online) qrcode_wap |
37 | cancellation_details | Array | (exists if status is cancelled) Information of cancellation (request_user_id: The User who sent request, first_name: First name of the user, last_name: Last name of the user remark: reason of the sending request) |
38 | refund_details | Array | (exists if status is refunded) Information of refund (request_user_id: The User who sent request, first_name: First name of the user, last_name: Last name of the user remark: reason of the sending request) |
39 | fail_details | Array | (exists if status is failed) Information of failed transaction (request_user_id: The User who sent request, first_name: First name of the user, last_name: Last name of the user remark: reason of the sending request) |
Example Success Response
{ "success": true, "data": { "id": "xXxXxXxXxXXxXx", "user_id": "xXxXxXxXxXXxXx", "company_id": "xXxXxXxXxXXxXx", "store_id": "xXxXxXxXxXXxXx", "gateway_id": 1, "gateway_sub_id": 1, "gateway_sub_name": "Alipay", "gateway_code": "1_1", "barcode_id": "xXxXxXxXxXXxXx", "status": "paid", "amount": "10.00", "currency": "HKD", "charge": 1.20, "refunded": "0.00", "refund_charge": "0.00", "net": "9.75", "tips": "0.00", "forex": 1, "paid_at": "2018-11-20 14:06:45", "can_settle_after": "2018-11-21 00:00:00", "is_balance_settled": true, "settled_at": "", "transaction_id": "xXxXxXxXxXXxXx", "reference_id": "xXxXxXxXxXXxXx", "payer": "", "buyer_id": "", "wallet_type": "", "extra_parameters": "{\"extra_1\": \"value_1\", \"extra_2\": \"value_2\", \"extra_3\": \"value_3\", \"extra_4\": \"value_4\"}", "custom_id": "XxXxXxXxXxXxXxXxXx", "fixed_id": "", "refunded_at": "", "created_at": "2018-11-20 14:06:45", "updated_at": "2018-11-20 14:06:45", "expired_at": "2018-11-21 14:06:45", "_links": [ { "rel": "checkout", "href": "https://qr.alipay.com/xxxxxxxx" }, { "rel": "qrcode", "href": "https://api.yedpay.com/v1/q/alipay/xxxxxxx" } ] } }
Error Response - data
# | Name | Type | Description |
---|---|---|---|
1 | success | Boolean | False |
2 | message | String | Message of the Error |
3 | status | Integer | Code Status |
Example Error Response
{ "success": false, "message": "Internal Error", "status": 500 }
*NOTE
The merchant could not attach parameters to the "return_url" and "notify_url", and hoping them be passed by Yedpay.After program is executed, the page must print "success" (Alipay and Alipay Online) (without quote). (e.g. using die('success') in PHP)
If not, Yedpay server would keep re-sending notification, until over 20 minutes Generally, there are 4 notifications within 5 minutes Frequency.
Make sure the Notification Page notify_url is absolutely blank, only with "success" text in the body, without space, html tag, or any error message threw from the program system.
Only allowed HTTP and HTTPS ports (80 and 443) for notify_url
Example data in Return Endpoint
https://example.url/endpoint?id=xXxXxXxXxXXxXx&user_id=xXxXxXxXxXXxXx&company_id=xXxXxXxXxXXxXx&store_id=xXxXxXxXxXXxXx&gateway_id=1&barcode_id=&status=paid&amount=10.00¤cy=HKD&charge=1.20&forex=1&paid_at=2018-11-20+14%3A45%3A44&settled_at=&transaction_id=251415799855257&payer=&refunded_at=&created_at=2018-11-20+14%3A44%3A44&updated_at=2018-11-20+14%3A45%3A44
v1.61.15-20230523 © The Payment Cards Group Limited. All rights reserved.