如何通过TransactionSearch和GetTransactionDetails获取link关联交易?
How to link related transactions obtained by TransactionSearch and GetTransactionDetails?
TL;DR- 我怎么知道我是否真的通过 PayPal NVP 收到了付款 API?
更长的版本
我正在编写代码来自动处理和分类来自我们 PP 企业帐户的交易。我有调用 NVP 方法 TransactionSearch 和 GetTransactionDetails 的代码,并用 returned 的结果填充一些数据库表。对于前 24 小时的交易,每天都会发生这种情况。到目前为止,还不错。
我一开始假设通过 PayPal 网络界面手动 CSV 导出的相同信息可以通过 API 获得,但我现在发现情况并非如此,或者我应该打另一个 API 电话来获取我需要的其余信息。
特别是,GetTransactionDetails 似乎 return 不等同于 CSV 字段 "Reference Txn ID",并且在某些情况下,我看不到如何连接相关交易。
所以,我的问题是如何获取参考交易 ID,或者我如何连接这些关联交易?
示例 1
这(可能)是最常见的需要参考交易 ID 的情况。
根据买家的资金来源,您可能会立即看到购买完成,或者如果交易必须清算,则需要通过三个单独的交易完成:
- 原始付款,详细信息包括买家姓名、电子邮件、地址、发票编号、项目 ID、毛额、费用和净额等
- 紧随其后的是净额的借记
- 随后,几天后,贷记了净额。
匹配三笔交易至关重要,因为除非您这样做,否则您不知道付款是成功还是被拒绝(因此您是否真的收到了钱)。
在我目前掌握的资料中,这种情况只有一个例子,调用GetTransactionDetails进行结算交易完全失败("The transaction could not be loaded") — 可能是因为,在那个例子中,我知道付款是由没有 PayPal 帐户的人使用信用卡支付的。
这可能是异常情况,也可能是常见情况。我在其他 PayPal 帐户中经常看到这种三重交易,但不是这个,所以我不能确定。
示例 2
一笔外币付款通常会产生三笔交易,就像示例 1 中的那样:
- 原始付款(例如欧元),详细信息包括发件人姓名和电子邮件地址等;
- 然后立即从欧元中扣除(可能是净额)金额
- 然后以美元立即贷记。
从 NVP API 的角度来看,GetTransactionDetails 通常 returns 值标记为原始付款的 SETTLEAMT 和 SETTLEAMTCURRENCYCODE。无需进一步处理。
然而,最近的一笔此类交易(出于连 PayPal 也无法充分解释的原因)没有自动转换,即使在手动执行转换后,GetTransactionDetails 调用也缺少结算值。
交易都在那里 — 但我看不到任何关联它们的编程方式,因为尝试在货币转换交易上调用 GetTransactionDetails return 错误 "You can not get the details for this type of transaction".
—
关于自动处理 PayPal 交易的任何建议或经验?有没有办法以编程方式复制 CSV 导出中包含的相同数据?
如有必要,如果有某种方法可以通过编程方式生成它,我很乐意处理 CSV 导出,但我什至不知道有什么方法可以做到这一点(缺乏完整的 Selenium 驱动解决方案陷阱)。
如果有相关交易,GetTransactionDetails 将包含一个 PARENTTRANSACTIONID。例如,退款交易会有父交易 ID。
TL;DR- 我怎么知道我是否真的通过 PayPal NVP 收到了付款 API?
更长的版本
我正在编写代码来自动处理和分类来自我们 PP 企业帐户的交易。我有调用 NVP 方法 TransactionSearch 和 GetTransactionDetails 的代码,并用 returned 的结果填充一些数据库表。对于前 24 小时的交易,每天都会发生这种情况。到目前为止,还不错。
我一开始假设通过 PayPal 网络界面手动 CSV 导出的相同信息可以通过 API 获得,但我现在发现情况并非如此,或者我应该打另一个 API 电话来获取我需要的其余信息。
特别是,GetTransactionDetails 似乎 return 不等同于 CSV 字段 "Reference Txn ID",并且在某些情况下,我看不到如何连接相关交易。
所以,我的问题是如何获取参考交易 ID,或者我如何连接这些关联交易?
示例 1
这(可能)是最常见的需要参考交易 ID 的情况。
根据买家的资金来源,您可能会立即看到购买完成,或者如果交易必须清算,则需要通过三个单独的交易完成:
- 原始付款,详细信息包括买家姓名、电子邮件、地址、发票编号、项目 ID、毛额、费用和净额等
- 紧随其后的是净额的借记
- 随后,几天后,贷记了净额。
匹配三笔交易至关重要,因为除非您这样做,否则您不知道付款是成功还是被拒绝(因此您是否真的收到了钱)。
在我目前掌握的资料中,这种情况只有一个例子,调用GetTransactionDetails进行结算交易完全失败("The transaction could not be loaded") — 可能是因为,在那个例子中,我知道付款是由没有 PayPal 帐户的人使用信用卡支付的。
这可能是异常情况,也可能是常见情况。我在其他 PayPal 帐户中经常看到这种三重交易,但不是这个,所以我不能确定。
示例 2
一笔外币付款通常会产生三笔交易,就像示例 1 中的那样:
- 原始付款(例如欧元),详细信息包括发件人姓名和电子邮件地址等;
- 然后立即从欧元中扣除(可能是净额)金额
- 然后以美元立即贷记。
从 NVP API 的角度来看,GetTransactionDetails 通常 returns 值标记为原始付款的 SETTLEAMT 和 SETTLEAMTCURRENCYCODE。无需进一步处理。
然而,最近的一笔此类交易(出于连 PayPal 也无法充分解释的原因)没有自动转换,即使在手动执行转换后,GetTransactionDetails 调用也缺少结算值。
交易都在那里 — 但我看不到任何关联它们的编程方式,因为尝试在货币转换交易上调用 GetTransactionDetails return 错误 "You can not get the details for this type of transaction".
—
关于自动处理 PayPal 交易的任何建议或经验?有没有办法以编程方式复制 CSV 导出中包含的相同数据?
如有必要,如果有某种方法可以通过编程方式生成它,我很乐意处理 CSV 导出,但我什至不知道有什么方法可以做到这一点(缺乏完整的 Selenium 驱动解决方案陷阱)。
如果有相关交易,GetTransactionDetails 将包含一个 PARENTTRANSACTIONID。例如,退款交易会有父交易 ID。