USEEPAY
  1. ApplePay API
USEEPAY
  • 全球收单
    • 域名说明
    • 集成流程说明
    • 生产账户启用
    • UseePay出口IP说明
    • 签名指导
      • 签名
      • 验签
      • demo
    • 沙盒测试资源
      • 测试卡号
      • 信用卡测试案例
      • 退款测试案例
      • 本地化测试案例
      • ApplePay&& Google Pay测试用例
    • 跳转式收银台接口
      • 跳转收银台paymentMethod参数说明
      • 支付/预授权
    • 内嵌式收银台接口
      • 0.0.1-只支持信用卡
        • 内嵌收银台快捷支付
        • 内嵌收银台新版本更新说明
        • 内嵌收银台对接说明
      • 新版-支持信用卡+AP+GP
        • 内嵌收银台2.0.0版本说明
      • create token 创建JSSDK所需的token
    • 订单通用接口
      • 退款Refund
      • 查询Query
      • 预授权撤销(Void)
      • 预授权完成(Capture)
    • 本地化支付
      • 本地化汇总
      • 本地化接口
        • 便利店支付
          • konbini
            • konbini 收银台模式
            • konbini api模式
          • payeasy
            • payeasy api 模式
            • payeasy 收银台模式
        • 分期付款Pay Later
          • Klarna产品介绍
          • Klarna direct
          • Klarna Redirect
        • 电子钱包
          • Alipay
            • Alipay Direct 文档
            • alipay_cn/alipay_hk direct 文档
          • Wechat-HK
            • 扫码支付
              • 扫码支付
              • direct
                • 扫码支付 Server To Server模式
              • redirect
                • 扫码支付收银台模式(wechat_native)
            • Jsapi支付下单接口
              • 小程序支付
              • 微信公众号支付
              • Jsapi支付下单接口
            • H5支付
              • H5支付
          • Google Pay
            • GoogePay Test card
            • Google Pay 对接可能遇到的问题
            • redirect
              • 跳转式GooglePay收银台
            • api
              • Google Pay API对接
              • Googlepay API 支付
          • applepay
            • ApplePay 扩展
            • ApplePay API
              • ApplePay API接入流程
              • ApplePay API接入流程备份
              • ApplePay Merchant Identifier
              • ApplePay支付
                POST
              • ApplePay商户Session
                POST
            • applepay cashier
              • applepay 跳转收银台
          • applepay&googlepay内嵌
            • 1.0.0 内嵌方式对接 (建议使用“内嵌方式对接2.0.0”版本)
            • 内嵌方式对接2.0.0
        • 银行转账
          • pix
          • Giropay
            • Giropay_Redirect
            • Giropay_Direct
          • sofort
            • sofort_Redirect
            • sofort_Direct
          • bancontact
            • bancontact_Redirect
          • Ideal
            • Ideal_Redirect
            • Ideal_Direct
          • boleto
            • boleto_Direct
        • 本地化Card
        • Cash(Ticket)现金支付
          • oxxo
          • boleto
          • Cash Common
      • 支付方式(国家/地区)
        • 荷兰
        • 巴西
        • 墨西哥
        • 中国香港
        • 日本
        • 德国
        • 奥地利
        • 西班牙
        • 波兰
        • 意大利
        • 哥伦比亚
        • 比利时
        • 瑞士
    • 通用对象参数和规范说明
      • 参数对象说明(过期)
      • 业务结果码(ResultCode)
      • 错误码(ErrorCode)
      • 金额和货币单位
      • 国家信息参考
      • 对象模型
        • userInfo
        • shippingAddress
        • goodsInfo
        • billingAddress
        • deviceInfo
        • transactionInfo
    • 通知接口说明
      • 交易通知
        • 同步通知
        • 异步 webhook版本升级
        • webhook
      • 拒付
        • 拒付webhook
    • 物流接口
      • 物流信息上送
        • 物流信息上传2.1
        • 物流信息上传(已废弃)
      • 物流信息查询
        • 物流信息查询2.1
        • 物流信息查询(已废弃)
    • 拒付接口
      • 拒付流程说明
      • 拒付查询
    • SFTP
      • SFTP
    • 常见问题
      • 支付和预授权的区别
    • demo
    • 插件安装指导
      • magento插件支付安装
        • Wechat/Alipay/UseePay Payments
    • 订阅
      • 订阅文档
  • 产品说明
    • 收银台
    • 内嵌式收银台
    • Server To Server 直连
  • FAQ
    • 集成和认证
    • 常见问题解答
    • ueeshop配置常见错误
    • ApplePay常见问题
  1. ApplePay API

ApplePay API接入流程备份

对接流程#

1. Apple Pay 证书#

s2s方式截图applepay需要在网站的指定路径下放入证书(请联系UseePay运营提供)
https://网站域名/.well-known/apple-developer-merchantid-domain-association.txt
请注意放入证书后需要再次联系UseePay激活证书

2. 前端#

2.1 前端引入Apple Pay#

请参考Apple Pay官网文档
大致流程如下,仅供参考(因为Apple Pay文档可能会升级,请您参考上述Apple Pay官网文档)

2.1.1 在网站引入apple pay#

<script src="https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js"></script>

2.1.2 渲染Apple Pay button#

初始化对象文档
if (window.ApplePaySession) {
   var merchantIdentifier = 'YOUR MERCHANT IDENTIFIER';
   var promise = ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier);
   promise.then(function (canMakePayments) {
      if (canMakePayments)
         // Display Apple Pay button here.
}); }
merchantIdentifier 取值说明
环境值
sandboxmerchant.com.sandbox.useepay
prodmerchant.com.gateway.useepay

#

ApplePay接入流程.png

一.获取ApplePay验证文件#

请根据你想要添加ApplePay支付按钮的域名*发送给UseePay工作人员,将获得的证书放置在相应页面的指定路径下,如
https://checkou.useepay.com/.well-known/apple-developer-merchantid-domain-association.txt
完成后联系UseePay的工作人员,进行网站的绑定。

二.挂载Apple Pay SDK#

https://developer.apple.com/documentation/apple_pay_on_the_web/displaying_apple_pay_buttons_using_javascript

三.检查Apple Pay是否可用#

if (window.ApplePaySession) {
   var merchantIdentifier = 'YOUR MERCHANT IDENTIFIER';
   var promise = ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier);
   promise.then(function (canMakePayments) {
      if (canMakePayments)
         // Display Apple Pay button here.
}); }
merchantIdentifier 沙盒环境使用merchant.com.sandbox.useepay
生产环境使用merchant.com.gateway.useepay
https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/checking_for_apple_pay_availability

四.构建ApplePay Request#

    const request = {
          "countryCode": "US",
          "currencyCode": "",
          "merchantCapabilities": [
            "supports3DS",
            "supportsDebit",
            "supportsCredit"
          ],
          "supportedNetworks": [
            "visa",
            "masterCard",
            "amex",
            "discover",
          ],
          "total": {
            "label": "",
            "amount": "",
            "type": "final"
          }
        }
其中currencyCode,label,amount是当前交易币种,交易主体,交易金额,请如实填写

五.构建ApplePaySession#

参照:https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/creating_an_apple_pay_session
后续使用此session

三.获取MerchantSession#

session.onvalidatemerchant = async event => {
// Call your own server to request a new merchant session.
const merchantSession = await Api.merchantSession(sessionRequest);
session.completeMerchantValidation(merchantSession);
};
获取merchantSession 请参照https://www.apifox.cn/web/project/2038036/apis/api-67411929

六. 后续session动作#


session.onpaymentmethodselected = event => {
         event.eventName = "onpaymentmethodselected"
         Api.applepayLogEvent(event);
         // Define ApplePayPaymentMethodUpdate based on the selected payment method.
         // No updates or errors are needed, pass an empty object.
         var newTotal = {
           "label": //交易网址//,
           "amount": //交易金额//,
           "type": "final"
         };
         var newLineItems = [
           // {
           //   "type": "final",
           //   "label": "Sales Tax",
           //   "amount": "1.00"
           // },
           // {
           //   "type": "final",
           //   "label": "Shipping",
           //   "amount": "0.00"
           // }
         ];
         var update = {
           newTotal: newTotal,
           newLineItems: newLineItems
         };
         session.completePaymentMethodSelection( update );
};

session.onshippingmethodselected = event => {
         event.eventName = "onshippingmethodselected"
         // Define ApplePayShippingMethodUpdate based on the selected shipping method.
         // No updates or errors are needed, pass an empty object.
         const update = {};
         session.completeShippingMethodSelection(update);
};

session.onshippingcontactselected = event => {
         event.eventName = "onshippingcontactselected"
         Api.applepayLogEvent(event);
         // Define ApplePayShippingContactUpdate based on the selected shipping contact.
         const update = {};
         session.completeShippingContactSelection(update);
};

七.进行支付#

session.onpaymentauthorized = async event => {
        const applepayPaymentRequest = buildApplepayPaymentRequest();
        const applepayPaymentResponse = await Api.applepayPayment(applepayPaymentRequest);
      session.completePayment(applepayPaymentResponse.applePayPaymentAuthorizationResult);
        // 处理apple pay支付结果
        processApplepayPaymentResponse(applepayPaymentResponse);
};
参照https://www.apifox.cn/link/project/2038036/apis/api-67385706
上一页
ApplePay API接入流程
下一页
ApplePay Merchant Identifier
Built with