php - PayPal - 获取定期配置文件的交易详细信息

标签 php paypal transactions

在发出 TransactionSearch 请求时,我收到交易的 TRANSACTIONID 字段的交易列表,对应于经常性付款,例如“I-BRPN2RUD8W0G”(电流是假的)。

对于其余交易 - 我通常得到 17 个单字节字母数字字符串。这意味着,对于定期付款,PayPal 返回 ProfileID,但不返回 TransactionID。

因此,当我请求 GetTransactionDetails 并将此交易 ID 传递给 PayPal 时,我收到了普通付款的有效详细信息和经常性付款的错误消息“交易 ID 无效”。

最佳答案

您需要按照 Sanjiv 的建议设置 IPN。您可以根据 IPN Variables 获取字段.如果退款,您还需要使用 parent_txn_id

如果您是新手并且发现困难,您可以使用 IPN listener class然后整合下面的代码

$listener = new IpnListener();

try {
    $verified = $listener->processIpn();
} catch (Exception $e) {
    return Log::error($e->getMessage());
}

if ($verified) {

$data = $_POST;
$user_id = json_decode($data['custom'])->user_id;

$subscription = ($data['mc_gross_1'] == '10') ? 2 : 1;

$txn = array(
    'txn_id'       => $data['txn_id'],
    'user_id'      => $user_id,
    'paypal_id'    => $data['subscr_id'],
    'subscription' => $subscription,
    'expires'      => date('Y-m-d H:i:s', strtotime('+1 Month')),
);

Payment::create($txn);

} else {
    Log::error('Transaction not verified');
}

将此文件代码保存在 ipn.php 文件中,然后在您的 paypal 帐户中为该文件分配 Web 路径。

PS:确保您的 IPN 文件位于可公开访问的 URL 上。不要使用本地或受限服务器。

关于php - PayPal - 获取定期配置文件的交易详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430467/

相关文章:

php - move_uploaded_file() 不会替换现有图像

php - 连接 HTML 和 PHP 以创建图像链接

php - 使用 PHP 的 PayPal 每月余额?

paypal - 使用 hosted_button_id 以单一形式将多个项目添加到 Paypal

python - 如何使用 asyncio 和 postgres 在 python 中进行交易?

php - 是否可以实现一个扩展 Traversable 的接口(interface)?

php - 使用 Ion Auth 在 Codeigniter 中创建用户角色和配置文件

c# - Paypal SOAP API - 快速结账 - 错误 10002

sql - SQL Server 2005中如何检查是否存在尚未提交的事务?

python - Django select_for_update 可以用来获取读锁吗?