在 ionic angular 上将 applepay 令牌交换为条纹令牌

Exchange applepay token to stripe token on ionic angular

项目版本:
离子:6.16.1
电容:3.0.2
angular: 12.0.5

情况是我们设法在 ionic web 上集成了 stripe(google 支付和信用卡)(没有域,因为它是本地应用程序,只是在 web 中开发)。但是,我们无法制作任何 stripe 插件来识别 apple pay on native IOS 或 google pay on native Android.

我们正在尝试做的一个解决方法是,我们尝试从其他插件手动获取 apple pay 令牌,并尝试使用 stripe 令牌将其交换到 stripe API 平台,以便我们可以继续与付款(我们正在使用 [GitHub - samkelleher/cordova-plugin-applepay:一个完整​​的 Cordova 插件,添加了 Apple Pay 支持。] 来获取 apple pay 令牌)。但是,没有函数或 API 支持此操作。

鉴于 PKPayment 对象是 Apple Pay 令牌(不是 Stripe 令牌),您可以向 Stripe 的 /v1/tokens 端点发出 POST 请求并将 pk_token 参数传递为在他们的 iOS SDK 源 here.

中显示

我也在寻找如何处理 Ionic 4 应用程序中 ApplePay 输出的解决方案。

如果有人想在您的 Ruby/Sinatra 服务器上处理 ApplePay 的输出,这里是我使用的代码。确保您已将 Apple 商家证书与 Stripe 关联起来。

require 'base64'
require 'stripe'
require 'json'

Stripe.api_key = 'sk_test_1234XXXXXXXXXXXXXXXXXXX'

post '/applePayTokenRequest' do

  token_attrs = JSON.parse(request.body.read)
  pk_token = Base64.decode64(token_attrs.first["paymentData"])
  puts token_attrs

  pk_token_instrument_name = token_attrs.first["paymentMethodDisplayName"]
  pk_token_payment_network = token_attrs.first["paymentMethodNetwork"]
  pk_token_transaction_id = token_attrs.first["transactionIdentifier"]

  st_token = Stripe::Token.create(
      :pk_token => pk_token,
      :pk_token_payment_network => pk_token_payment_network,
      :pk_token_transaction_id => pk_token_transaction_id
    )

  puts st_token

end