根据"Testing Recurring Payments"
的文件当您指定日期时,结算周期每隔n分钟发生一次 沙箱,其中n代表频率;
所以这就是我所做的:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss:'000Z'");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
RecurringPaymentsProfileDetailsType profileDetails = new RecurringPaymentsProfileDetailsType(df.format(new Date()));
BillingPeriodDetailsType trialPeriod = new BillingPeriodDetailsType(BillingPeriodType.DAY, 1, new BasicAmountType(CurrencyCodeType.USD, "40"));
trialPeriod.setTotalBillingCycles(1);
ScheduleDetailsType scheduleDetails = new ScheduleDetailsType();
scheduleDetails.setPaymentPeriod(new BillingPeriodDetailsType(BillingPeriodType.DAY, 1, new BasicAmountType(CurrencyCodeType.USD, "40")));
scheduleDetails.setDescription(agreementDescription);
scheduleDetails.setTrialPeriod(trialPeriod);
CreateRecurringPaymentsProfileRequestDetailsType reqDetails = new CreateRecurringPaymentsProfileRequestDetailsType(profileDetails, scheduleDetails);
reqDetails.setToken(token);
CreateRecurringPaymentsProfileRequestType reqType = new CreateRecurringPaymentsProfileRequestType();
reqType.setCreateRecurringPaymentsProfileRequestDetails(reqDetails);
CreateRecurringPaymentsProfileReq req = new CreateRecurringPaymentsProfileReq();
req.setCreateRecurringPaymentsProfileRequest(reqType);
return service.createRecurringPaymentsProfile(req);
这个代码效果很好,除了问题(对我来说很重要),它不会加速这个过程。没有它,测试 IPN 定期付款是不可能的。
根据此other forum post,我可能需要为我的沙箱业务帐户启用“测试模式”,但我无法在新的沙箱网站中找到该选项。
我错过了什么?
答案 0 :(得分:1)
不幸的是,这是一个推出的功能,并在很短的时间后删除。您能够测试的唯一方法是将定期付款设置为每日帐单。解决这个问题的一种方法是创建一个包含您想要发送的所有变量的表单帖子,然后让它将数据发布到您的脚本并执行它想要的操作。你只需要绕过验证它的逻辑。但是,一旦完成所有测试,您就可以返回并运行一些测试,以确保您的脚本验证帖子。使用表单将变量发布到您的脚本,将允许您根据需要进行测试,而不必每天等待定期付款。