文档中心/API 接口

API REFERENCE

Apple Pay

POSThttps://mapi.yabandpay.com/Payments
实际接口
API PLAYGROUND · 实际接口

Apple Pay

POSThttps://mapi.yabandpay.com/Payments
填写凭据后自动签名

请求参数11

先填写必填项

Apple Pay

pay_method必填stringdata.pay_methodonline
sub_pay_method必填stringdata.sub_pay_methodApple Pay
operation必填stringdata.operation1.Sales 2.Authorisation;
amount必填stringdata.amount金额数字。例如 € 24.99 应该写成24.99
currency必填stringdata.currency货币代码,ISO 4217,例如EUR,CHF
description必填stringdata.description订单描述
payment_token_object必填stringdata.payment_token_object从Apple Pay拿到的"paymentTokenObject"的字符串
timeout必填stringdata.timeout过期时间单位分钟(0-1440)
notify_url必填stringdata.notify_url支付完成后异步通知地址
request_id必填stringdata.request_id请求id需保持唯一,建议24以上位数字+字母
可选参数 1
demo可选stringdata.demo自定义字段

凭据仅在当前页面使用。secret_key 不保存,也不发送给文档服务器。

适用于:支持Apple Pay支付场景

该支付方式是由Apple Pay拉起支付,需集成在商户的App或网页中,消费者在iOS设备上完成支付。

1. 它如何工作?

Apple Pay 使用特定设备的标记化信用卡或借记卡凭证 (DPAN) 代替支付账号 (PAN)。当客户使用 Face ID、Touch ID 或密码确认支付时,标记化的卡数据会返回到您的应用程序或网站。然后,该令牌就可以传递给您的支付服务提供商(PSP),像处理一般的在线信用卡或借记卡支付一样进行处理。

YabandPay现在支持的普通借记卡和信用卡的任何交易类型都可以通过 Apple Pay 进行,包括退款。Apple Pay 可在运行 iOS、watchOS 和 iPadOS 的 Apple 设备上的应用内和 Safari 中使用,也可在 MacOS 设备的 Safari 中使用。

2. Apple Pay集成

您可以在App或网页内集成Apple Pay。您需要实施 Apple API 来验证是否可以将 Apple Pay 用作一个付款方式:

• 与 PassKit SDK 集成以从App内提供 Apple Pay,如 PassKit 中所述。

• 与 Apple Pay JS 集成以从网页提供 Apple Pay,如 Apple pay js 中所述。

与 Apple Pay 集成后,Apple会创建一个payment.token.paymentData。您应将此 paymentDatabase64_encode后的字符串传递给YabandPay,其字段为 payment_token_object,以便解密和处理。

3. 在Apple完成注册

开始之前,您需要确保在您的 Apple 帐户上完成以下步骤:

  1. 注册 Apple 开发者帐户。您需要注册为 Apple Pay 开发者,并按照此处所述完成 Apple 认证流程。

  2. 如果您在网络上集成 Apple Pay(使用 Safari),请确保您的服务器支持此处所述的 Apple 额外安全要求。

  3. 从YabandPay 获取 CSR 文件。

  4. 将签名的 CSR 给回到 YabandPay。

  5. 在您的应用或网站中添加 Apple Pay 按钮。使用适当的 PassKit 或 JavaScript API 在您的应用或网站中呈现按钮,以便按钮始终保持最新和本地化。

更多详细信息请参考苹果官方指引:https://developer.apple.com/design/human-interface-guidelines/apple-pay/overview/introduction/


参数类型描述是否必填
userString收银员账号的UID必填
signString签名必填
methodStringv3.ApplePay必填
timeLong时间戳必填
  • 参数
ParameterTypeDescription是否必填
pay_methodStringonline必填
sub_pay_methodStringApple Pay必填
operationString1.Sales 2.Authorisation;必填
order_idString商户的订单ID必填
amountString金额数字。例如 € 24.99 应该写成24.99必填
currencyString货币代码,ISO 4217,例如EUR,CHF必填
descriptionString订单描述必填
demoString自定义字段选填
payment_token_objectString从Apple Pay拿到的"paymentTokenObject"的字符串必填
timeoutString过期时间单位分钟(0-1440)必填
notify_urlString支付完成后异步通知地址必填
request_idString请求id需保持唯一,建议24以上位数字+字母必填

payment_token_object获取方式:

Apple Pay 返回的token.paymentData示例:

{
	"version": "EC_v1",
	"data": "4yHHmKd2YKSOaVoF+TdTdk9bVjhWYrDRSeyKvrX7I+3a4fyUg2bb7XkxyDlPyddoGzzLWf2ugLSmHL6B02R6tiF1a1VIMAbBdEbfs16dGc5MqD5nmrLWaJ1MWCLdJt1rIaq9z48v6oD+PRjAH1knS3Xeno9kAjG/VloJ69NqaIVEIboq3lGADJWgvTfuahpMCOl4WZpb0Nx0WZQjN9AJ85eiqegfFtweu3Vdgi913weMx9wWaXemecca1G5FUs/Ftdp7OEr24KJCgpPZUifLsHD6tS1es0XuQAW6tHOFpcCFUQWztAKYOEPJo/0f28zZ2aAQZZ8y7q/jJA3wSrxcR9cpNC1h7QRtnyNf9leGKNOT+VlTnKbSGo5oBphfZ3NUCrfFoXinNxXp2gp7INiSrbGGtlrIZ/odtj5+qf47Yg==",
	"signature": "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",
	"header": {
		"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDTiY5WtOPkloi/EHwf0Wv0AIh0LyhlYcqOPZczZMkE+mZN4o6tSseSg/OnoAH80HUuUFgURB97Frv/cmJceNLA==",
		"publicKeyHash": "pKqL8wJe8PuVsbuYxk2O4Nke6I0lNMyUDOndIDMSGmw=",
		"transactionId": "YOUR_SIGNATURE"
	}
}

payment_token_object 字段为对接Apple pay后拿到的payment.token.paymentData数据的base64_encode后的字符串

签名示例:

拼接为URL方式并排序后的字符串

"amount=0.1&currency=EUR&description=test&method=v3.ApplePay&notify_url=https://www.yabandpay.com/notify&operation=1&order_id=2546168761657651657984196878&pay_method=online&payment_token_object=eyJ2ZXJzaW9uIjoiRUNfdjEiLCJkYXRhIjoiNHlISG1LZDJZS1NPYVZvRitUZFRkazliVmpoV1lyRFJTZXlLdnJYN0krM2E0ZnlVZzJiYjdYa3h5RGxQeWRkb0d6ekxXZjJ1Z0xTbUhMNkIwMlI2dGlGMWExVklNQWJCZEViZnMxNmRHYzVNcUQ1bm1yTFdhSjFNV0NMZEp0MXJJYXE5ejQ4djZvRCtQUmpBSDFrblMzWGVubzlrQWpHL1Zsb0o2OU5xYUlWRUlib3EzbEdBREpXZ3ZUZnVhaHBNQ09sNFdacGIwTngwV1pRak45QUo4NWVpcWVnZkZ0d2V1M1ZkZ2k5MTN3ZU14OXdXYVhlbWVjY2ExRzVGVXMvRnRkcDdPRXIyNEtKQ2dwUFpVaWZMc0hENnRTMWVzMFh1UUFXNnRIT0ZwY0NGVVFXenRBS1lPRVBKby8wZjI4eloyYUFRWlo4eTdxL2pKQTN3U3J4Y1I5Y3BOQzFoN1FSdG55TmY5bGVHS05PVCtWbFRuS2JTR281b0JwaGZaM05VQ3JmRm9YaW5OeFhwMmdwN0lOaVNyYkdHdGxySVovb2R0ajUrcWY0N1lnPT0iLCJzaWduYXR1cmUiOiJNSUFHQ1NxR1NJYjNEUUVIQXFDQU1JQUNBUUV4RFRBTEJnbGdoa2dCWlFNRUFnRXdnQVlKS29aSWh2Y05BUWNCQUFDZ2dEQ0NBK1F3Z2dPTG9BTUNBUUlDQ0ZuWW9ieXE5T1BOTUFvR0NDcUdTTTQ5QkFNQ01Ib3hMakFzQmdOVkJBTU1KVUZ3Y0d4bElFRndjR3hwWTJGMGFXOXVJRWx1ZEdWbmNtRjBhVzl1SUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHlNVEEwTWpBeE9UTTNNREJhRncweU5qQTBNVGt4T1RNMk5UbGFNR0l4S0RBbUJnTlZCQU1NSDJWall5MXpiWEF0WW5KdmEyVnlMWE5wWjI1ZlZVTTBMVk5CVGtSQ1QxZ3hGREFTQmdOVkJBc01DMmxQVXlCVGVYTjBaVzF6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSUl3L2F2RG5QZGVJQ3hRMlp0RkV1WTM0cWtCM1d5ejRMSE5TMUpubVBqUFRyM29HaVdvd2g1TU05M09qaXFXd3Zhdm9aTURSY1RvZWtRbXpwVWJFcFdqZ2dJUk1JSUNEVEFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGQ1B5U2NSUGsrVHZKK2JFOWloc1A2SzcvUzVMTUVVR0NDc0dBUVVGQndFQkJEa3dOekExQmdnckJnRUZCUWN3QVlZcGFIUjBjRG92TDI5amMzQXVZWEJ3YkdVdVkyOXRMMjlqYzNBd05DMWhjSEJzWldGcFkyRXpNREl3Z2dFZEJnTlZIU0FFZ2dFVU1JSUJFRENDQVF3R0NTcUdTSWIzWTJRRkFUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TURRR0ExVWRId1F0TUNzd0thQW5vQ1dHSTJoMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsWVdsallUTXVZM0pzTUIwR0ExVWREZ1FXQkJRQ0pEQUxtdTd0UmpHWHBLWmFLWjVDY1lJY1JUQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0R3WUpLb1pJaHZkalpBWWRCQUlGQURBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCMG9iTWsyMEpKUXczVEoweFFkTVNBalpvZlNBNDZoY1hCTmlWbU1sKzhvd0lnYVRhUVU2djFDMXBTK2ZZQVRjV0tyV3hRcDlZSWFEZVE0S2M2MEI1SzJZRXdnZ0x1TUlJQ2RhQURBZ0VDQWdoSmJTKy9PcGphbHpBS0JnZ3Foa2pPUFFRREFqQm5NUnN3R1FZRFZRUUREQkpCY0hCc1pTQlNiMjkwSUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHhOREExTURZeU16UTJNekJhRncweU9UQTFNRFl5TXpRMk16QmFNSG94TGpBc0JnTlZCQU1NSlVGd2NHeGxJRUZ3Y0d4cFkyRjBhVzl1SUVsdWRHVm5jbUYwYVc5dUlFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJQQVhFWVFaMTJTRjFScGVKWUVIZHVpQW91L2VlNjVONEkzOFM1UGhNMWJWWmxzMXJpTFFsM1lOSWs1N3VnajlkaGZPaU10MnUyWnd2c2pvS1lUL1ZFV2pnZmN3Z2ZRd1JnWUlLd1lCQlFVSEFRRUVPakE0TURZR0NDc0dBUVVGQnpBQmhpcG9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQTBMV0Z3Y0d4bGNtOXZkR05oWnpNd0hRWURWUjBPQkJZRUZDUHlTY1JQaytUdkorYkU5aWhzUDZLNy9TNUxNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdId1lEVlIwakJCZ3dGb0FVdTdEZW9WZ3ppSnFraXBuZXZyM3JyOXJMSktzd053WURWUjBmQkRBd0xqQXNvQ3FnS0lZbWFIUjBjRG92TDJOeWJDNWhjSEJzWlM1amIyMHZZWEJ3YkdWeWIyOTBZMkZuTXk1amNtd3dEZ1lEVlIwUEFRSC9CQVFEQWdFR01CQUdDaXFHU0liM1kyUUdBZzRFQWdVQU1Bb0dDQ3FHU000OUJBTUNBMmNBTUdRQ01EclBjb05SRnBteGh2czF3MWJLWXIvMEYrM1pEM1ZOb282KzhaeUJYa0szaWZpWTk1dFpuNWpWUVEyUG5lbkMvZ0l3TWkzVlJDR3dvd1YzYkYzek9EdVFaLzBYZkN3aGJaWlB4bkpwZ2hKdlZQaDZmUnVaeTVzSmlTRmhCcGtQQ1pJZEFBQXhnZ0dITUlJQmd3SUJBVENCaGpCNk1TNHdMQVlEVlFRRERDVkJjSEJzWlNCQmNIQnNhV05oZEdsdmJpQkpiblJsWjNKaGRHbHZiaUJEUVNBdElFY3pNU1l3SkFZRFZRUUxEQjFCY0hCc1pTQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRFVE1CRUdBMVVFQ2d3S1FYQndiR1VnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk1DQ0ZuWW9ieXE5T1BOTUFzR0NXQ0dTQUZsQXdRQ0FhQ0JrekFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHlOVEF4TWpJd016RXlORFZhTUNnR0NTcUdTSWIzRFFFSk5ERWJNQmt3Q3dZSllJWklBV1VEQkFJQm9Rb0dDQ3FHU000OUJBTUNNQzhHQ1NxR1NJYjNEUUVKQkRFaUJDQVBFcVhzSXE2WHVmS0Z1R2FuWk5EVUdIOFBoYmdzV1hqdkdidDNyZTdUUlRBS0JnZ3Foa2pPUFFRREFnUkdNRVFDSUEyelBXR2RIVlczWHUxZ0szYnhlRVpaaTJCUFU5dFhKeEFSb1JIV2FEQU9BaUJmNjNKcjhqVHRuMWk5QWdieFVsWldJcGN0Ylh1SXplRzU2U1VtQnlDNFF3QUFBQUFBQUE9PSIsImhlYWRlciI6eyJlcGhlbWVyYWxQdWJsaWNLZXkiOiJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVEVGlZNVd0T1BrbG9pL0VId2YwV3YwQUloMEx5aGxZY3FPUFpjelpNa0UrbVpONG82dFNzZVNnL09ub0FIODBIVXVVRmdVUkI5N0Zydi9jbUpjZU5MQT09IiwicHVibGljS2V5SGFzaCI6InBLcUw4d0plOFB1VnNidVl4azJPNE5rZTZJMGxOTXlVRE9uZElETVNHbXc9IiwidHJhbnNhY3Rpb25JZCI6IjU0MWRiMDc5Y2ZhOTBhMGY0MzMwYmNhNzNhNDhiZGY2MDlmZDcyZDhkNWQ0YzUxOGE3NDFjOGFlZmY4ZWM4ODMifX0=&request_id=5g71qqe2v3twvm1sr71e74al5h7q4pbq&sub_pay_method=Apple Pay&time=1721987969&timeout=0&user=YOUR_CASHIER_UID"

得到的 stringA 使用 secret_key做签名

得到的签名如下:

"YOUR_SIGNATURE"

提交示例(operation=1 Sales):

{
    "user": "YOUR_CASHIER_UID",
    "sign": "YOUR_SIGNATURE",
    "method": "v3.ApplePay",
    "time": 1721987969,
    "data": {
        "description": "test",
        "timeout": "0",
        "pay_method": "online",
        "sub_pay_method": "Apple Pay",
        "order_id": "YOUR_ORDER_ID",
        "amount": "0.1",
        "currency": "EUR",
        "operation": "1",
        "notify_url": "https://www.yabandpay.com/notify",
        "payment_token_object": "eyJ2ZXJzaW9uIjoiRUNfdjEiLCJkYXRhIjoiNHlISG1LZDJZS1NPYVZvRitUZFRkazliVmpoV1lyRFJTZXlLdnJYN0krM2E0ZnlVZzJiYjdYa3h5RGxQeWRkb0d6ekxXZjJ1Z0xTbUhMNkIwMlI2dGlGMWExVklNQWJCZEViZnMxNmRHYzVNcUQ1bm1yTFdhSjFNV0NMZEp0MXJJYXE5ejQ4djZvRCtQUmpBSDFrblMzWGVubzlrQWpHL1Zsb0o2OU5xYUlWRUlib3EzbEdBREpXZ3ZUZnVhaHBNQ09sNFdacGIwTngwV1pRak45QUo4NWVpcWVnZkZ0d2V1M1ZkZ2k5MTN3ZU14OXdXYVhlbWVjY2ExRzVGVXMvRnRkcDdPRXIyNEtKQ2dwUFpVaWZMc0hENnRTMWVzMFh1UUFXNnRIT0ZwY0NGVVFXenRBS1lPRVBKby8wZjI4eloyYUFRWlo4eTdxL2pKQTN3U3J4Y1I5Y3BOQzFoN1FSdG55TmY5bGVHS05PVCtWbFRuS2JTR281b0JwaGZaM05VQ3JmRm9YaW5OeFhwMmdwN0lOaVNyYkdHdGxySVovb2R0ajUrcWY0N1lnPT0iLCJzaWduYXR1cmUiOiJNSUFHQ1NxR1NJYjNEUUVIQXFDQU1JQUNBUUV4RFRBTEJnbGdoa2dCWlFNRUFnRXdnQVlKS29aSWh2Y05BUWNCQUFDZ2dEQ0NBK1F3Z2dPTG9BTUNBUUlDQ0ZuWW9ieXE5T1BOTUFvR0NDcUdTTTQ5QkFNQ01Ib3hMakFzQmdOVkJBTU1KVUZ3Y0d4bElFRndjR3hwWTJGMGFXOXVJRWx1ZEdWbmNtRjBhVzl1SUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHlNVEEwTWpBeE9UTTNNREJhRncweU5qQTBNVGt4T1RNMk5UbGFNR0l4S0RBbUJnTlZCQU1NSDJWall5MXpiWEF0WW5KdmEyVnlMWE5wWjI1ZlZVTTBMVk5CVGtSQ1QxZ3hGREFTQmdOVkJBc01DMmxQVXlCVGVYTjBaVzF6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSUl3L2F2RG5QZGVJQ3hRMlp0RkV1WTM0cWtCM1d5ejRMSE5TMUpubVBqUFRyM29HaVdvd2g1TU05M09qaXFXd3Zhdm9aTURSY1RvZWtRbXpwVWJFcFdqZ2dJUk1JSUNEVEFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGQ1B5U2NSUGsrVHZKK2JFOWloc1A2SzcvUzVMTUVVR0NDc0dBUVVGQndFQkJEa3dOekExQmdnckJnRUZCUWN3QVlZcGFIUjBjRG92TDI5amMzQXVZWEJ3YkdVdVkyOXRMMjlqYzNBd05DMWhjSEJzWldGcFkyRXpNREl3Z2dFZEJnTlZIU0FFZ2dFVU1JSUJFRENDQVF3R0NTcUdTSWIzWTJRRkFUQ0IvakNCd3dZSUt3WUJCUVVIQWdJd2diWU1nYk5TWld4cFlXNWpaU0J2YmlCMGFHbHpJR05sY25ScFptbGpZWFJsSUdKNUlHRnVlU0J3WVhKMGVTQmhjM04xYldWeklHRmpZMlZ3ZEdGdVkyVWdiMllnZEdobElIUm9aVzRnWVhCd2JHbGpZV0pzWlNCemRHRnVaR0Z5WkNCMFpYSnRjeUJoYm1RZ1kyOXVaR2wwYVc5dWN5QnZaaUIxYzJVc0lHTmxjblJwWm1sallYUmxJSEJ2YkdsamVTQmhibVFnWTJWeWRHbG1hV05oZEdsdmJpQndjbUZqZEdsalpTQnpkR0YwWlcxbGJuUnpMakEyQmdnckJnRUZCUWNDQVJZcWFIUjBjRG92TDNkM2R5NWhjSEJzWlM1amIyMHZZMlZ5ZEdsbWFXTmhkR1ZoZFhSb2IzSnBkSGt2TURRR0ExVWRId1F0TUNzd0thQW5vQ1dHSTJoMGRIQTZMeTlqY213dVlYQndiR1V1WTI5dEwyRndjR3hsWVdsallUTXVZM0pzTUIwR0ExVWREZ1FXQkJRQ0pEQUxtdTd0UmpHWHBLWmFLWjVDY1lJY1JUQU9CZ05WSFE4QkFmOEVCQU1DQjRBd0R3WUpLb1pJaHZkalpBWWRCQUlGQURBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCMG9iTWsyMEpKUXczVEoweFFkTVNBalpvZlNBNDZoY1hCTmlWbU1sKzhvd0lnYVRhUVU2djFDMXBTK2ZZQVRjV0tyV3hRcDlZSWFEZVE0S2M2MEI1SzJZRXdnZ0x1TUlJQ2RhQURBZ0VDQWdoSmJTKy9PcGphbHpBS0JnZ3Foa2pPUFFRREFqQm5NUnN3R1FZRFZRUUREQkpCY0hCc1pTQlNiMjkwSUVOQklDMGdSek14SmpBa0JnTlZCQXNNSFVGd2NHeGxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1STXdFUVlEVlFRS0RBcEJjSEJzWlNCSmJtTXVNUXN3Q1FZRFZRUUdFd0pWVXpBZUZ3MHhOREExTURZeU16UTJNekJhRncweU9UQTFNRFl5TXpRMk16QmFNSG94TGpBc0JnTlZCQU1NSlVGd2NHeGxJRUZ3Y0d4cFkyRjBhVzl1SUVsdWRHVm5jbUYwYVc5dUlFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJQQVhFWVFaMTJTRjFScGVKWUVIZHVpQW91L2VlNjVONEkzOFM1UGhNMWJWWmxzMXJpTFFsM1lOSWs1N3VnajlkaGZPaU10MnUyWnd2c2pvS1lUL1ZFV2pnZmN3Z2ZRd1JnWUlLd1lCQlFVSEFRRUVPakE0TURZR0NDc0dBUVVGQnpBQmhpcG9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQTBMV0Z3Y0d4bGNtOXZkR05oWnpNd0hRWURWUjBPQkJZRUZDUHlTY1JQaytUdkorYkU5aWhzUDZLNy9TNUxNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdId1lEVlIwakJCZ3dGb0FVdTdEZW9WZ3ppSnFraXBuZXZyM3JyOXJMSktzd053WURWUjBmQkRBd0xqQXNvQ3FnS0lZbWFIUjBjRG92TDJOeWJDNWhjSEJzWlM1amIyMHZZWEJ3YkdWeWIyOTBZMkZuTXk1amNtd3dEZ1lEVlIwUEFRSC9CQVFEQWdFR01CQUdDaXFHU0liM1kyUUdBZzRFQWdVQU1Bb0dDQ3FHU000OUJBTUNBMmNBTUdRQ01EclBjb05SRnBteGh2czF3MWJLWXIvMEYrM1pEM1ZOb282KzhaeUJYa0szaWZpWTk1dFpuNWpWUVEyUG5lbkMvZ0l3TWkzVlJDR3dvd1YzYkYzek9EdVFaLzBYZkN3aGJaWlB4bkpwZ2hKdlZQaDZmUnVaeTVzSmlTRmhCcGtQQ1pJZEFBQXhnZ0dITUlJQmd3SUJBVENCaGpCNk1TNHdMQVlEVlFRRERDVkJjSEJzWlNCQmNIQnNhV05oZEdsdmJpQkpiblJsWjNKaGRHbHZiaUJEUVNBdElFY3pNU1l3SkFZRFZRUUxEQjFCY0hCc1pTQkRaWEowYVdacFkyRjBhVzl1SUVGMWRHaHZjbWwwZVRFVE1CRUdBMVVFQ2d3S1FYQndiR1VnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk1DQ0ZuWW9ieXE5T1BOTUFzR0NXQ0dTQUZsQXdRQ0FhQ0JrekFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHlOVEF4TWpJd016RXlORFZhTUNnR0NTcUdTSWIzRFFFSk5ERWJNQmt3Q3dZSllJWklBV1VEQkFJQm9Rb0dDQ3FHU000OUJBTUNNQzhHQ1NxR1NJYjNEUUVKQkRFaUJDQVBFcVhzSXE2WHVmS0Z1R2FuWk5EVUdIOFBoYmdzV1hqdkdidDNyZTdUUlRBS0JnZ3Foa2pPUFFRREFnUkdNRVFDSUEyelBXR2RIVlczWHUxZ0szYnhlRVpaaTJCUFU5dFhKeEFSb1JIV2FEQU9BaUJmNjNKcjhqVHRuMWk5QWdieFVsWldJcGN0Ylh1SXplRzU2U1VtQnlDNFF3QUFBQUFBQUE9PSIsImhlYWRlciI6eyJlcGhlbWVyYWxQdWJsaWNLZXkiOiJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVEVGlZNVd0T1BrbG9pL0VId2YwV3YwQUloMEx5aGxZY3FPUFpjelpNa0UrbVpONG82dFNzZVNnL09ub0FIODBIVXVVRmdVUkI5N0Zydi9jbUpjZU5MQT09IiwicHVibGljS2V5SGFzaCI6InBLcUw4d0plOFB1VnNidVl4azJPNE5rZTZJMGxOTXlVRE9uZElETVNHbXc9IiwidHJhbnNhY3Rpb25JZCI6IjU0MWRiMDc5Y2ZhOTBhMGY0MzMwYmNhNzNhNDhiZGY2MDlmZDcyZDhkNWQ0YzUxOGE3NDFjOGFlZmY4ZWM4ODMifX0=",
        "request_id": "5g71qqe2v3twvm1sr71e74al5h7q4pbq"
    }
}

返回示例:

{
    "status": true,
    "code": "200",
    "data": {
        "order_id": "YOUR_ORDER_ID",
        "trade_id": "8c9908cf-0df7-7e22-1724-0080246bb918",
        "amount": "0.10",
        "currency": "EUR",
        "sub_pay_method": "Apple Pay",
        "state": "paid"},
    "message": "",
    "response_id": "202407261759298674663100"
}

更多信息:

返回结果:
  1. 若调用成功,则返回"status": true

  2. 若调用失败,则返回"status": false

我们会在调用接口后同步返回支付结果,状态state为paid,即支付成功。我们强烈建议同时使用订单查询和异步通知来同步和更新支付状态,以确保支付信息的实时准确性。 a) 如果订单状态state为paid,即支付成功; b) 如果订单状态state为authorized,即预授权成功。 预授权成功后如需要请款调用预授权请款接口。

返回代码:
StatusCodeMessage
true200
false-1000Internal error
false-403The signature Error
false-2001The user not exist
false-3001Required field is missing
false-4118Incorrect request ID