Red*_*ant 5 paypal paypal-subscriptions paypal-sandbox node.js paypal-rest-sdk
我住在香港,我总是在午夜之后得到这个沙盒paypal交易错误paypal.billingAgreement.execute().错误在下午消失,可能是因为paypal服务器所在的地方终于过了午夜.
{ name: 'SUBSCRIPTION_UNMAPPED_ERROR',
message: 'Subscription start date should be greater than current date',
information_link: 'https://developer.paypal.com/docs/api/payments.billing-agreements#errors',
debug_id: 'd2e618eef4162',
httpStatusCode: 400
},
Run Code Online (Sandbox Code Playgroud)
我知道这是沙盒环境的时区问题,但我无法弄清楚如何解决它.
我的结算协议是根据PayPal-node-SDK中的示例创建的
process.env.TZ = 'utc';
var isoDate = new Date();
isoDate.setSeconds(isoDate.getSeconds() + 4);
isoDate.toISOString().slice(0, 19) + 'Z';
var billingAgreementAttributes = {
"start_date": isoDate,
/..../
}
Run Code Online (Sandbox Code Playgroud)
我已将TZ节点中的环境变量设置为utc;
我用来登录和订阅的沙箱帐户的时区设置:
我也试过不同的区域,Eastern Time但它没有效果.
根据 PayPal 文档,StartDate 应为 UTC,看起来正在设置处理时区
process.env.TZ = 'utc';
Run Code Online (Sandbox Code Playgroud)
对您的代码没有影响(有时可能会被兑现),您可以检查日期变量值是否采用 UTC 格式吗?
我建议改变
var isoDate = new Date();
Run Code Online (Sandbox Code Playgroud)
到
var isoDate = new Date().toISOString();
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
454 次 |
| 最近记录: |