Abs*_*Abs 1 paypal paypal-ipn paypal-adaptive-payments
我使用AngellEye librar y 来使用Paypal自适应支付.
一切都很好,除了IPN.在Sandbox模式下使用Paypal时,我收到了一个通知我的URL.但是,一旦我上线,我的服务器就不会收到IPN POST请求.我检查了我的Apache access.log.
我是否需要在某处启用Paypal IPN以进行实时自适应支付?
在我的Paypal帐户中,在销售偏好下,它将IPN显示为已禁用.要启用它,我还需要提供一个URL.但是,我的URL是动态的,我假设因为我使用的是Paypal API,我不需要更改它吗?
IPN的用法:
$PayRequestFields = array(
'ActionType' => 'CREATE',
'CancelURL' => base_url() . 'd/cancel/' . $this->transactionID,
'CurrencyCode' => $this->product->currency,
'ReturnURL' => base_url() . 'd/success/' . $this->transactionID,
'FeesPayer' => 'PRIMARYRECEIVER',
'IPNNotificationURL' => base_url() . 'ipn/status/' . $this->transactionID,
);
Run Code Online (Sandbox Code Playgroud)
自适应付款IPN略有不同,因为应用程序将收到一个(如果已配置),然后商家/卖家帐户也将根据他们收到的实际交易获得一个.
例如,如果您的应用代表第三方用户生成付款请求,并且您在付款请求中设置了NotificationURL,则会向该网址发送特定于应用的IPN.特定于交易的IPN将被发送到卖方帐户在其自己的PayPal帐户中配置的URL.
您还需要确保将IPN脚本配置为正确处理Adaptive IPN.它发送的参数名称类似于some.name和.不适用于常规$ _POST ['paramname']逻辑.看看这个IPN模板是如何处理的......你可能只想使用它.
这是我刚刚运行Pay请求时收到的应用程序IPN的示例.
Array
(
[transaction] =>
[payment_request_date] => Tue May 06 12:49:35 PDT 2014
[return_url] => http://paypal.angelleye.com/paypal/class/1.2/Pay_Return.php
[fees_payer] => EACHRECEIVER
[ipn_notification_url] => http://sandbox.angelleye.com/paypal/ipn/ipn-listener.php
[sender_email] => tester@angelleye.com
[verify_sign] => AFcWxV21C7fd0v3bYYYRCpSSRl31ArVBOvsxhUiZ-m0M3mFjhNWWaRjM
[test_ipn] => 1
[cancel_url] => http://paypal.angelleye.com/paypal/class/1.2/Pay_Cancel.php
[pay_key] => AP-8YH799874R4873815
[action_type] => PAY
[transaction_type] => Adaptive Payment PAY
[status] => INCOMPLETE
[log_default_shipping_address_in_transaction] => false
[charset] => windows-1252
[notify_version] => UNVERSIONED
[reverse_all_parallel_payments_on_error] => false
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2067 次 |
最近记录: |