在进行TransactionSearch请求时,我收到与交易相关的事务的TRANSACTIONID字段的交易列表,对应于定期付款,例如. “I-BRPN2RUD8W0G”(当前是假的)
对于其余的事务 – 我通常使用17个单字节字母数字字符串.这意味着,对于定期付款,PayPal返回ProfileID,但不返回TransactionID.@H_404_2@
因此,当我通过传递到PayPal的交易ID请求GetTransactionDetails时,我会收到普通付款和错误的有效的详细信息,并且对于经常性付款,我收到了“交易ID无效”的信息.@H_404_2@
您将需要根据Sanjiv的建议设置IPN.您可以按照
IPN Variables获取字段.如果退款,您还需要使用parent_txn_id
如果你是新的,发现很难,可以使用IPN listener class,然后集成下面的代码@H_404_2@
$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'); }