Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 贝宝没有';创建订阅后捕获付款-反应_Reactjs_Paypal_Paypal Sandbox - Fatal编程技术网

Reactjs 贝宝没有';创建订阅后捕获付款-反应

Reactjs 贝宝没有';创建订阅后捕获付款-反应,reactjs,paypal,paypal-sandbox,Reactjs,Paypal,Paypal Sandbox,我们正在使用贝宝,以便在我们的平台上实现订阅。 我在PayPal内部设置了产品和计划,并使用“react Smart payment Buttons”包()集成了“PayPal智能按钮” 我成功地创建了订阅,但没有立即或根本捕获第一笔付款 当我使用PayPal订阅API查看下一个计费周期的时间时,它会显示一个已经过的时间戳 例如,这是我从API获得的JSON的一部分: "billing_info": { "outstanding_balance": { "

我们正在使用贝宝,以便在我们的平台上实现订阅。 我在PayPal内部设置了产品和计划,并使用“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\u billing\u time
值在
create\u 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}`);
}
如果有人能帮我解决这个问题,我会很高兴的


提前谢谢。

我也在为同样的问题苦苦挣扎。这个新的API虽然在文档中看起来不错,但基本上看起来像是在幕后使用计费协议(我很确定它实际上是在幕后使用BA)。在次级激活时,没有获取资金的选项。您可以添加一个“设置费”,它将在激活后几分钟内“收取”,但之后的定期付款方式对我来说仍然是一个谜。此外,用于管理定期付款的web ui在尝试打开使用新API创建的Sub的详细信息时失败,出现了一个很长的错误。我通过添加值为明天10:00 UTC的
start\u time
键,成功更改了
next\u billing\u time
。目前,我正在等待,看看它是否会像它应该做的那样捕获资金。我会更新的。我也在努力解决同样的问题。这个新的API虽然在文档中看起来不错,但基本上看起来像是在幕后使用计费协议(我很确定它实际上是在幕后使用BA)。在次级激活时,没有获取资金的选项。您可以添加一个“设置费”,它将在激活后几分钟内“收取”,但之后的定期付款方式对我来说仍然是一个谜。此外,用于管理定期付款的web ui在尝试打开使用新API创建的Sub的详细信息时失败,出现了一个很长的错误。我通过添加值为明天10:00 UTC的
start\u time
键,成功更改了
next\u billing\u time
。目前,我正在等待,看看它是否会像它应该做的那样捕获资金。我会更新的。