Yedpay

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

Variable
# Name Type Description
1 store_id String Store's ID

Request Header

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

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

Table Information
# 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

Table Information
# Name Type Description
1 id String(64) Id of the transaction
2 user_id String(64) Id of the user who create the transaction
3 company_id String(64) Id of the Company
4 store_id String(64) 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(65,535) Name of the gateway subtype
8 gateway_code String {{gateway_id}}_{{gateway_sub_id}}
- 1_1 - Alipay
- 4_1 - Alipay Online, 4_2 - Alipay Online PC2Mobile, 4_3 - Alipay Online SDK
- 7_1 - VISA, 7_2 - Mastercard
- 8_1 - WeChat Pay, 8_2 - WeChat Pay Online, 8_3 - WeChat Pay Online SDK
- 9_1 - UnionPay ExpressPay, 9_2 - UnionPay ExpressPay CN, 9_5 - UnionPay UPOP, 9_6 - UnionPay QR
- 10_1 - UnionPay Merchant Presented Code, 10_2 - UnionPay Customer Presented Code
- 11_1 - UnionPay POS, 11_2 - UnionPay POS V2
- 12_1 - VISA Online, 12_2 - Mastercard Online, 12_3 - Google Pay, 12_4 - Apple Pay
- 13_1 - HSBC FPS Online, 13_2 - HSBC FPS Offline
9 barcode_id String(64) Id of the Barcode uset to generate the transaction (only apply for alipay Global)
10 payment_link_id String(64) (optinal) Id of the Pay Link
11 status String Status of the transaction
12 amount String(15) Amount of the transaction
13 currency String(3) Currency of the transaction
14 charge String(15) Total of charge fee for the transaction
15 refunded String(15) Refunded Amount of the Transaction
16 refund_charge String(15) Refund Charge of the Transaction
17 net String(15) Net Amount of the Transaction
18 tips String(15) Tips Amount of the Transaction
19 forex Double Forex
20 paid_at Datetime Date when the transaction was paid "YYYY-mm-dd h:i:s"
21 can_settle_after Datetime Date when the transaction balance will be settled "YYYY-mm-dd h:i:s"
22 is_balance_settled Boolean The transaction balance is settled or not
23 settled_at Datetime Date when the transaction was settled "YYYY-mm-dd h:i:s"
24 transaction_id String(15) Unique transaction identifier of Yedpay
25 reference_id String(191) Transaction identifier of the Gateway Provider
26 payer String Email of the payer (Alipay Global)
27 buyer_id String Buyer identity (Alipay Global)
28 wallet_type String(20) Wallet type of the transaction (Applicable for Alipay and WeChatPay)
29 extra_parameters String(65,535) (optional) Custom information send by customer
30 custom_id String(36) (optional) Custom Id Send By Customer
31 fixed_id String(64) (optional) Id of the Fixed Code
32 refunded_at Datetime Date when the transaction was Refunded "YYYY-mm-dd h:i:s"
33 created_at Datetime Date when the transaction was created "YYYY-mm-dd h:i:s"
34 updated_at Datetime Date when the was Updated "YYYY-mm-dd h:i:s"
35 expired_at Datetime (optional) Date when the transaction Expire "YYYY-mm-dd h:i:s"
36 pin_key String (optional) PIN Key for pin encryption (Applicable for UnionPay POS and precreated transaction status)
37 _links Array Include Checkout and QRCode Links:
- checkout
- qrcode
- (alipay online) checkout_wap
- (alipay online) checkout_code
- (alipay online) qrcode_wap
38 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)
39 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)
40 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

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.65.0-20240318 © The Payment Cards Group Limited. All rights reserved.