首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取条带api计费后的状态

获取条带api计费后的状态
EN

Stack Overflow用户
提问于 2019-03-20 01:21:15
回答 2查看 933关注 0票数 1

我正在寻找php代码语法,以捕获调用是否成功或未能条带化API。我需要捕获其中一个对象属性来确定这一点,但我不确定最好的方法是什么。这是一个成功的ACH api费用的响应示例。我正在寻找php代码的语法来捕获调用是成功还是失败

代码语言:javascript
运行
复制
Stripe\Charge Object
(
[id] => py_1EFlRJBuwnzOEo57Poikh194
[object] => charge
[amount] => 50
[amount_refunded] => 0
[application] => 
[application_fee] => 
[application_fee_amount] => 
[balance_transaction] => txn_1EFlRJBuwnzOEo57dupt8SWp
[captured] => 1
[created] => 1553015365
[currency] => usd
[customer] => cus_Ec6cAdg6N2yYcF
[description] => 
[destination] => 
[dispute] => 
[failure_code] => 
[failure_message] => 
[fraud_details] => Array
    (
    )

[invoice] => 
[livemode] => 
[metadata] => Stripe\StripeObject Object
    (
    )

[on_behalf_of] => 
[order] => 
[outcome] => Stripe\StripeObject Object
    (
        [network_status] => approved_by_network
        [reason] => 
        [risk_level] => not_assessed
        [seller_message] => Payment complete.
        [type] => authorized
    )

[paid] => 
[payment_intent] => 
[receipt_email] => 
[receipt_number] => 
[receipt_url] => https://pay.stripe.com/receipts/acct_1E8sOiBuwnzOEo57/py_1EFlRJBuwnzOEo57Poikh194/rcpt_EjDtGP7iknHI9RCBJ3iUODNC6bVBVyM
[refunded] => 
[refunds] => Stripe\Collection Object
    (
        [object] => list
        [data] => Array
            (
            )

        [has_more] => 
        [total_count] => 0
        [url] => /v1/charges/py_1EFlRJBuwnzOEo57Poikh194/refunds
    )

[review] => 
[shipping] => 
[source] => Stripe\BankAccount Object
    (
        [id] => ba_1E8sTZBuwnzOEo57MKqXEvb7
        [object] => bank_account
        [account_holder_name] => Rassi Stern
        [account_holder_type] => individual
        [bank_name] => STRIPE TEST BANK
        [country] => US
        [currency] => usd
        [customer] => cus_Ec6cAdg6N2yYcF
        [fingerprint] => 9l7up0pswCYSO7eu
        [last4] => 6789
        [metadata] => Stripe\StripeObject Object
            (
            )

        [routing_number] => 110000000
        [status] => verified
    )

[source_transfer] => 
[statement_descriptor] => 
[status] => pending
[transfer_data] => 
[transfer_group] => 
    )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-20 01:38:29

你使用的是条纹PHP库吗?

我实现了类似这样的东西:

代码语言:javascript
运行
复制
try {
    $charge = \Stripe\Charge::create(array(
        "amount" => $amount, // in pence - min 30p
        "currency" => $currency,
        "description" => $description,
        "statement_descriptor" => $statementDescriptor,
        "source" => $token,
        "metadata" => array (
            'code' => $code
        ),
        "receipt_email" => $email
    ));
    $success = true;
} catch(\Stripe\Error\Card $e) {
    $success = false;
    // Some other stuff to capture the reason for failure and tell the user etc.
}

如果你没有使用他们的库,可能值得研究一下:支付成功或失败有很多不同的原因,所以查看大量的Charge对象来寻找答案可能不是100%得到你想要的结果。

票数 2
EN

Stack Overflow用户

发布于 2019-03-24 03:50:24

您可以从charge对象中获取paid或status参数的值。

代码语言:javascript
运行
复制
$success = json_encode($charge->paid); // Expected value = true
$success = json_encode($charge->status); // Expected value = succeeded

然后你可以做你的检查:

代码语言:javascript
运行
复制
if($success) { // or $success == "succeeded" depending on which array key you go for.
    // Payment succeeded! Do something...
} else {
    print_r(json_encode($charge->failure_message));
    // Do something else...
}

代码也可以在没有json_encode()的情况下工作,我发现使用json_encode可以减少代码的buggy。

这是根据条带API文档:https://stripe.com/docs/api/charges/create

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55246695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档