Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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
Php Handlng贝宝支付API响应_Php_Paypal - Fatal编程技术网

Php Handlng贝宝支付API响应

Php Handlng贝宝支付API响应,php,paypal,Php,Paypal,我希望这是提出这个问题的正确地点,但我似乎无法在文档中找到答案 我正在用PHP和Paypal实现一个支付解决方案 在处理PAYPAL帐户付款时,我按照此处所述的步骤进行操作: 完成这些步骤不是问题。我从成功的交易中获得了预期的结果 我的问题是在处理错误/付款失败时 根据文档,销售状态可以是: Possible values: completed, partially_refunded, pending, refunded, denied. 什么会导致它被搁置?此外,挂起的销售状态是否会导致付

我希望这是提出这个问题的正确地点,但我似乎无法在文档中找到答案

我正在用PHP和Paypal实现一个支付解决方案

在处理PAYPAL帐户付款时,我按照此处所述的步骤进行操作:

完成这些步骤不是问题。我从成功的交易中获得了预期的结果

我的问题是在处理错误/付款失败时

根据文档,销售状态可以是:

Possible values: completed, partially_refunded, pending, refunded, denied.
什么会导致它被搁置?此外,挂起的销售状态是否会导致付款状态失败

我试图理解这两种状态是如何结合在一起并相互影响的。目的是妥善处理付款。知道何时批准/拒绝,以便我可以相应地处理

现在,我的测试代码如下:

$response = executePaypalPayment($token, $payer_id, $payment_id);

    //Get the state of the payment
    $payment_state = $response->state;

    //Get the state of the sale
    $sale_state = $response->transactions[0]->related_resources[0]->sale->state;

    if($payment_state == "approved" && $sale_state == "completed"){
        //Everything was successful
        $message = 'Your order was placed successfully! A confirmation email has been sent to the email address provided.';
        displayOrderScreenMessage($message);

    } else {
        //Something went wrong
        if($payment_state !== "approved"){
            //payment failed
            $message = "Unable to process payment. Please try again.";
            displayOrderScreenMessage($message, true, true);
        }

    }
问题是,我不知道如何确定付款的状态。感谢您的帮助。谢谢