Paypal Sandbox定期付款,初始金额待定

时间:2013-01-21 21:04:57

标签: php paypal sandbox

我正在使用PHP库here来创建新的订阅配置文件。如果我设置了初始金额,则配置文件显示为“待处理”。

示例:

Pending
Customer Mark Wally Verified
Profile start date Feb 18, 2013 | Profile ID I-BE824P6F9PER

另一方面,如果我没有设置初始付款金额,则个人资料将为“有效”。我正在设置初始付款和未来1个月的开始日期,因为我想每月开帐单并立即付款。

我已经验证了:

  • 帐户设置为以任何货币接受货币
  • 卖家帐户启用了数字商品(通过自动流程创建)
  • 两个帐户都经过验证
  • 买家帐户有信用卡和PayPal余额
  • 两个帐户均以美国为基础
  • 我尝试了多个帐户

非常感谢任何帮助!

用于创建使用上面列出的库的订阅的代码段:

$subscription_details = array(
  'description'    => 'Premium membership: $4.95 every 30 days',
  'initial_amount' => '4.95',
  'amount'         => '4.95',
  'period'         => 'Day',
  'start_date'     => gmdate( 'Y-m-d\TH:i:s', strtotime( '+30 day' ) ),
  'frequency'      => '30'
);

2 个答案:

答案 0 :(得分:9)

以防其他人遇到这种麻烦,我的发现是:

没有什么可以解决的 - 沙箱真的很慢,有时需要几天时间让配置文件变为活动状态并发送IPN。换句话说,沙箱根本不适合测试这些功能,只需上线并退还几个测试。即使是现场有时需要一些时间......我看到它有时需要几个小时,所以不要发疯。

答案 1 :(得分:3)

来自PayPal doco:

“默认情况下,如果初始付款金额失败,PayPal不会激活配置文件。要覆盖此默认行为,请将FAILEDINITAMTACTION字段设置为ContinueOnFailure。如果初始付款金额失败,则ContinueOnFailure会指示PayPal将失败的付款金额添加到这种经常性付款资料应付的未结余额。

如果您未设置FAILEDINITAMTACTION或将其设置为CancelOnFailure,则PayPal会创建定期付款配置文件。但是,PayPal会将配置文件置于待处理状态,直到初始付款完成。如果初始付款清除,PayPal会通过即时付款通知(IPN)通知您已激活待处理的个人资料。如果付款失败,PayPal会通过IPN通知您已取消待处理的个人资料“

来自https://cms.paypal.com/mx/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_WPRecurringPayments,正好在表6之下。