Мы используем PayPal для включения подписки на нашей платформе.Я настроил продукт и планы в PayPal и интегрировал «PayPal Smart Buttons» с помощью пакета «response-smart-payment-buttons» (https://github.com/erksch/react-smart-payment-buttons).
. Мне удалось создать подписку успешно, но первый платеж был выполненне фиксируется сразу или вовсе.
Когда я использую API подписки PayPal, чтобы увидеть, когда будет следующий платежный цикл, он показывает временную метку, которая уже прошла.
Например, это часть JSON, который я получил от API:
"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
, что не имеет смысла.
Что я уже сделал: после того, как пользователь утвердил подписку, я получаю идентификатор заказа, а также подписку. При попытке получения платежа с помощью PayPal Payments API и полученного идентификатора заказа я "Я получаю сообщение об ошибке. Я проверил статус созданной подписки, и он показывает ACTIVE.
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}`);
}
Я буду рад, если кто-то может помочь мне с этой проблемой.
Заранее спасибо.