6

我在我的 Angular 项目中使用 Paypal Plus。一切正常。

如何识别付款成功?我必须将哪些数据保存在我的数据库中。简而言之,我在成功等待哪些数据?

<div id="payments-container"></div>

export class PaypalComponent implements OnInit {
  paypalConfig = {
    env: 'sandbox',
    client: {
      sandbox: 'ATvgtyEZznsHf...',
      production: '<insert production client id>'
    },
    style: {
      layout: 'vertical',
      label: 'pay',
      size: 'responsive',
      shape: 'rect',
      color: 'gold'
    },
    commit: true,
    payment: (data, actions) => {
      return actions.payment.create({
        payment: {
          transactions: [{
            amount: {
              total: 10.5,
              currency: "EUR",
            }
          }]
        }
      });
    },
    onAuthorize: (data, actions) => {
      return actions.payment.execute().then((response) => {
        console.log('response', response);
        console.log('data', data);
        console.log('actions', actions);
      });
    },
    onCancel: (data, actions) => {
      console.log('Canceled!');
    }
  };

  ngOnInit() {
    paypal.Button.render(this.paypalConfig, '#payments-container');
  }
}
4

1 回答 1

4

来自文档

成功的响应会返回交易确认,其中包含已批准的状态和交易 ID。请参阅Payments API 参考中的完整响应值列表。

具体看一下响应文档

标识字符串

付款的 ID。只读。

意图枚举

付款意图。价值是:销售。立即付款。授权。授权稍后捕获付款。命令。创建订单。可能的值:销售、授权、订购。

付款人对象

这笔款项的资金来源。付款方式是 PayPal 钱包付款或银行直接借记。

application_context对象

使用应用程序上下文资源为您的买家定制支付流程体验。

交易数组(包含交易对象)

一系列与支付相关的交易。交易定义了付款的目的和付款人。对于更新和执行支付调用,交易对象只接受金额对象。

状态枚举

付款、授权或订单交易的状态。值为:

  • 创建的。事务已成功创建。

  • 得到正式认可的。客户批准了交易。在生成用于销售交易的 sale_id、用于授权交易的 authorization_id 或用于订单交易的 order_id 时,状态从创建更改为已批准。

  • 失败的。交易请求失败。只读。

可能的值:创建、批准、失败。

experience_profile_id字符串

PayPal 为商家的支付体验配置文件生成的 ID。有关信息,请参阅创建 Web 体验配置文件。note_to_payer 字符串 客户可以用来向付款人发送备注的自由格式字段。最大长度:165。

redirect_urls对象

您为基于 PayPal 的付款提供的一组重定向 URL。

failure_reason枚举

支付失败的原因代码。只读。

可能的值:UNABLE_TO_COMPLETE_TRANSACTION、INVALID_PAYMENT_METHOD、PAYER_CANNOT_PAY、CANNOT_PAY_THIS_PAYEE、REDIRECT_REQUIRED、PAYEE_FILTER_RESTRICTIONS。

创建时间字符串

创建付款的日期和时间,采用 Internet 日期和时间格式。只读。

update_time字符串

付款更新的日期和时间,采用 Internet 日期和时间格式。只读。

链接数组(包含 link_description 对象)

一组与请求相关的 HATEOAS 链接。只读。

你肯定会寻找state未来approved

根据您的审计需要,您可能希望保存任何或所有其他字段。id、intent、payer、transactions 和 failure_reason 至少都可能值得考虑。

于 2018-09-21T20:44:40.857 回答