【问题标题】:paypal - express checkout - transaction can't be finishpaypal - 快速结帐 - 交易无法完成
【发布时间】:2016-10-05 10:13:55
【问题描述】:

我正在贝宝沙箱上测试我的代码,它一直工作到现在,但是现在当我完成贝宝部分(登录以批准付款)时,我收到此消息,但没有任何问题的迹象。

Error message in french

就在这一步之前,paypal会很好地显示所有发送的信息。

那么,我们在哪里可以找到失败的详细信息或任何人知道此类问题?

如果有帮助,这里是基于 DPayPal PHP 类的代码

        $paypal = new DPayPal();
        $paypalConf = badawok::$config['paypal'];

        $paypal->setUsername($paypalConf['username']);
        $paypal->setPassword($paypalConf['password']);
        $paypal->setApiSignature($paypalConf['signature']);
        $paypal->setPayPalAPIUrl($paypalConf['url']);

        //$params = $this->getPaypalParams($port_fees);
        $requestParams = array(
            'RETURNURL' => SITEURL . "/" . t::url('basket') . '/ok/' . $paypalkey,
            'CANCELURL' => SITEURL . "/" . t::url('basket') . '/ko/' . $paypalkey,
            'LOCALECODE' => 'fr_FR'
        );
        //Order settings
        $orderParams = array(
            //'LOGOIMG' => "", //URL of your website logo. This image which will be displayed to the customer on the PayPal checkout page
            "MAXAMT" => "100", //Set maximum amount of transaction
            "NOSHIPPING" => "1", //I do not want shipping
            "ALLOWNOTE" => "0", //I do not want to allow notes
            "BRANDNAME" => "Loubilux sàrl",
            "GIFTRECEIPTENABLE" => "0", //Disable gift receipt widget on the PayPal pages
            "GIFTMESSAGEENABLE" => "0" //Disables the gift message widget on the PayPal pages
        );

        //Item settings
        $item = array(
            'PAYMENTREQUEST_0_CURRENCYCODE' => 'EUR',
            'PAYMENTREQUEST_0_PAYMENTACTION' => 'Sale'
        );

        //Add items
        $cmdconds = $this->getConds();
        $i = 0;
        $total = 0;
        foreach ($cmdconds as $c) {
            $item['L_PAYMENTREQUEST_0_NAME' . $i] = $c['label'];
            $item['L_PAYMENTREQUEST_0_AMT' . $i] = $c['prix'];
            $item['L_PAYMENTREQUEST_0_QTY' . $i] = $c['qte'];
            $total += $c['prixtot'];
            $i++;
        }
        //Fees
        if ($port_fees > 0) {
            $item['L_PAYMENTREQUEST_0_NAME' . $i] = t::_('paypal_fees');
            $item['L_PAYMENTREQUEST_0_AMT' . $i] = $port_fees;
            $item['L_PAYMENTREQUEST_0_QTY' . $i] = 1;
            $total += $port_fees;
            $i++;
        }
        //Total
        $item['PAYMENTREQUEST_0_ITEMAMT'] = $total;
        $item['PAYMENTREQUEST_0_AMT'] = $total;

        $params = $requestParams + $orderParams + $item;
        $response = $paypal->SetExpressCheckout($params);

这一直有效,并且贝宝部分永远不会回调我的网站。所以paypal部分有错误,但我不知道为什么。

【问题讨论】:

  • 问题似乎消失了,可能是沙盒上的临时问题:s 但没有信息。

标签: php paypal transactions paypal-sandbox express-checkout


【解决方案1】:

完成交易涉及 3 个 API。 SetExpressCheckout GetExpressCheckout DoExpressCheckout

看起来您只是在调用 SetExpressCheckout, 要完成交易,我们需要全部 3 个 API

访问以下链接获取示例代码:

https://github.com/paypal/merchant-sdk-php

【讨论】:

  • 是的,谢谢 :),一切都好,我有我的 3 个步骤。我的问题是为什么当我登录接受付款时,paypal 会失败。以及如何获得有关此无用错误消息的帮助。
猜你喜欢
  • 2013-04-21
  • 2020-10-01
  • 2012-08-05
  • 1970-01-01
  • 2013-08-27
  • 2014-12-07
  • 2013-03-05
  • 2017-11-22
  • 2018-03-25
相关资源
最近更新 更多