【问题标题】:Validate Google Payment Request API验证 Google 付款请求 API
【发布时间】:2017-10-11 15:08:20
【问题描述】:

我正在尝试整合付款请求api,但我在这里遗漏了一些东西.. 如何验证使用 api 进行的付款? 当用户支付我的回调被执行,但我怎么知道支付完成? 这是我的代码。

paymentRequest.show()
    .then((paymentResponse) => {
        fetch('http://validate-payment/api')
        .then((response) => {
            return response.json();
        })
        .then((json) => {
            return paymentResponse.complete('fail'); // Hardcode fail
        })
        .catch((error) => {
            reject();
        })
    })
    .catch((error) =>{
        console.log(error.message)
    });

【问题讨论】:

  • 检查response.ok,如果是,则调用response.json();否则请致电.complete('fail')
  • 请注意,此 API 为“支付请求 API”,与 Google 无关。请不要将此称为“Google Payment Request API”。 medium.com/dev-channel/…

标签: payment-request-api


【解决方案1】:

当您收到paymentResponse 对象时,这并不意味着付款已完成。您必须像现在一样将信息发布到支付网关以处理付款。

使用paymentResponse.details 获取付款详细信息并将其发布到支付网关(在您的代码中,它可以是“validate-payment/api”)。

支付网关的响应将指示支付是否成功。

使用此 API 时请注意 PCI 合规性(尤其是在您处理原始信用卡信息时)。 Stripe 例如does this on behalf of you,但目前还没有很多支付网关这样做。

paymentRequest.show()
    .then((paymentResponse) => {
        var details = paymentResponse.details;
        fetch('https://validate-payment/api', {
            method: 'POST',
            body: JSON.stringify(details)
        })...

【讨论】:

    猜你喜欢
    • 2018-12-11
    • 1970-01-01
    • 2021-05-15
    • 2017-11-18
    • 2012-04-10
    • 1970-01-01
    • 2017-10-12
    • 2021-08-11
    • 2016-04-24
    相关资源
    最近更新 更多