POST
Apple Pay 商户验证
该接口用于由 Onerway 代为报备 Apple Pay 域名的商户在
onvalidatemerchant 事件中通过 Onerway 向 Apple 获取 merchant session。使用自有 Apple Developer 账号的商户用自己的 Merchant Identity 证书直接向 Apple 请求,不调用本接口;接入层级与会话流程见 Apple Pay。请求
appIdOnerway 分配给商户应用或站点的标识,用于识别展示 Apple Pay 按钮的应用。
示例:
replace_with_app_idrequestId商户生成的请求唯一标识,用于链路追踪。
示例:
req_demo_apple_pay_202609090001verifyUrlApple 商户验证 URL,Onerway 代商户向该地址请求 merchant session。
约束
- 规则
- 原样透传
onvalidatemerchant事件中的validationURL;转发前在服务端确认其主机是 Apple Pay 网关域名,其他 URL 一律拒绝。
website展示 Apple Pay 按钮的商户域名,不含协议前缀。
示例:
example.com约束
- 规则
- 必须是 Onerway 已为该商户报备且通过 Apple 域名验证的域名,并与发起 Apple Pay 会话的页面所在域名一致;对应 Apple 的
initiativeContext。
sign请求签名字符串;生成方式详见请求签名。
curl -X POST 'https://sandbox-acq.onerway.com/txn/apiCheckApplePay' \
-H 'Content-Type: application/json' \
--data-raw '{
"merchantNo": "replace_with_merchant_no",
"appId": "replace_with_app_id",
"requestId": "req_demo_apple_pay_202609090001",
"verifyUrl": "https://apple-pay-gateway.apple.com/paymentservices/startSession",
"website": "example.com",
"sign": "{{SIGN}}"
}'响应
respCodeOnerway 返回的请求处理结果代码;
20000 表示已取得 merchant session,其他代码表示失败。完整码表见响应码。respMsg请求处理结果的可读说明。
dataApple 针对本次验证请求返回的 merchant session。
约束
- 规则
- 值为 JSON 字符串。前端解析后把得到的对象原样传给
session.completeMerchantValidation(),不要检查、修改、缓存或复用;Apple merchant session 有时效,只在onvalidatemerchant事件内请求并立即完成验证。
{
"respCode": "20000",
"respMsg": "Success",
"data": "{\"epochTimestamp\":1757400000000,\"expiresAt\":1757400300000,\"merchantSessionIdentifier\":\"replace_with_merchant_session_identifier\",\"nonce\":\"replace_with_nonce\",\"merchantIdentifier\":\"replace_with_merchant_identifier\",\"domainName\":\"example.com\",\"displayName\":\"Example Store\",\"signature\":\"replace_with_signature\"}"
}该接口暂未记录错误响应。