PayPal Payflow Pro:参考交易的原始id应该是什么?

本文关键字:id 是什么 原始 Pro Payflow 参考 交易 PayPal | 更新日期: 2023-09-27 18:06:44

我正在使用PayPal的Payflow Pro SDK。我试图设置一些东西,用户可以保存和重用他们的信用卡后,使用它一次。我认为(如果我错了请纠正我)这样做的正确过程如下:

  1. 提交定期付款交易
  2. 在此事务的响应中,应该有某种与该信用卡对应的代码
  3. 保存此代码而不是直接保存信用卡数据
  4. 使用此代码作为参考事务中的originId参数来处理订单(因此交易不需要信用卡,只需要代码)

我不明白的是代码实际上应该是什么。当我提交初始交易时,有一堆代码返回(例如:PNREF, AUTHCODE)。我不知道哪一个应该是我存储的,然后在引用事务中用作原始id。我试着用了很多不同的,每一个都返回一个错误,说"无效投标"。

下面是引用事务部分的代码片段:

public Response processOrderViaReferenceTransaction(String originId){
    UserInfo userInfo = new UserInfo("user", "vendor", "partner", "pwd"); //my actual username/password are in my code, not this
    PayflowConnectionData connection = new PayflowConnectionData("pilot-payflowpro.paypal.com", 443, 45, "", 0, "", "");
    String requestId = PayflowUtility.RequestId;
    Invoice invoice = new Invoice();
    CultureInfo us = new CultureInfo("en-US");
    String usCurrency = "USD";
    Currency amount = new Currency(new decimal(2.00), usCurrency);
    invoice.Amt = amount;
    ReferenceTransaction referenceTransaction = new ReferenceTransaction("S", originId, userInfo, connection, invoice, requestId);
    referenceTransaction.Verbosity = "HIGH";
    Response response = referenceTransaction.SubmitTransaction();
    return response;
}

有人知道我做错了什么吗?

PayPal Payflow Pro:参考交易的原始id应该是什么?

PayFlow Pro开发人员指南第40页…

在原始事务中返回的PNREF在引用事务中使用是有效的为期12个月。

Account Verification返回的PNREF也可以使用在引用事务中。