我们正在使用PayPal以便在我们的平台上启用订阅。 我在PayPal中设置了产品和计划,并使用“反应-智能-付款-按钮”包(https://github.com/erksch/react-smart-payment-buttons)集成了“ PayPal智能按钮”。
我成功创建了订阅,但是没有立即或根本没有捕获到第一笔款项。
当我使用PayPal订阅API来查看下一个计费周期的时间时,它会显示已经过去的时间戳。
例如,这是我从API获得的JSON的一部分:
"billing_info": {
"outstanding_balance": {
"currency_code": "USD",
"value": "0.0"
},
"cycle_executions": [
{
"tenure_type": "REGULAR",
"sequence": 1,
"cycles_completed": 0,
"cycles_remaining": 12,
"current_pricing_scheme_version": 1
}
],
"next_billing_time": "2019-07-01T10:00:00Z",
"failed_payments_count": 0
},
"auto_renewal": false,
"create_time": "2019-07-01T15:34:02Z"
}
如您所见,next_billing_time
值在create_time
之前,这没有任何意义。
我已经做了什么: 用户批准订阅后,我将获得订单的ID和订阅。尝试使用PayPal Payments API和我获得的订单ID捕获付款时,出现了错误。 我检查了已创建订阅的状态,它显示为“活动”。
createSubscription(data, actions) {
let plan_id = process.env.REACT_APP_PAY_PAL_BASIC_PLAN_ID;
return actions.subscription.create({
plan_id
});
}
onApprove(data, actions) {
const Http = new XMLHttpRequest();
let url = process.env.REACT_APP_UPGRADE_USER_URL;
Http.open("POST", url);
Http.setRequestHeader("x-access-token", this.state.token);
Http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
Http.send(`plan=${this.state.plan}&subscriptionId=${data.subscriptionID}`);
}
如果有人可以帮助我解决这个问题,我会很高兴。
谢谢。