Apple Pay 与 WorldPay 集成 - 提取有效负载

Apple Pay with WorldPay integration - extracting payload

在 Xamarin Forms 上,我正在尝试将 Apple Pay 负载发送到 WorldPay(支付网关)。它有一个关于请求应该是什么样子的指南,这里是一个简短的片段:

<APPLEPAY-SSL>
    <header>
      <ephemeralPublicKey>AAAA...</ephemeralPublicKey>
      <publicKeyHash>AAAA...</publicKeyHash>
      <transactionId>AAAA...</transactionId>
    </header>
    <signature>AAAA...</signature>
    <version>EC_v1</version>
    <data>AAAA...</data>
  </APPLEPAY-SSL>

我需要从我在下面的覆盖

中获得的PKPayment对象中提取这个强制数据
public override void DidAuthorizePayment(PKPaymentAuthorizationViewController controller, PKPayment payment, Action<PKPaymentAuthorizationStatus> completion)
    {
        completion(obj: PKPaymentAuthorizationStatus.Success);
    }

我找到的关于如何处理此对象的唯一示例是使用第 3 方 SDK(条纹),它仅提取 ID 和令牌,而不是我需要的全部。

我当前的代码与问题 here 相同。

请告诉我如何在 Xamarin.Forms.

中使用 apple pay 获取数据 world pay 所需的数据

终于想通了。

第 1 步:不要使用模拟器!模拟器没有负载!

第 2 步:载荷在内部 PKPayment.Token.PaymentData

第 3 步:将其转换为字符串:PaymentData.ToString()

最终结果:string payload = payment.Token.PaymentData.ToString(); 结果将采用 JSON 格式,并将包含问题中所需的所有内容。