PayPal не получает платеж после создания подписки - реагирует - PullRequest
0 голосов
/ 02 июля 2019

Мы используем 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}`);
}

Я буду рад, если кто-то может помочь мне с этой проблемой.

Заранее спасибо.

...