PayPal访客结账已停止在移动设备上工作

时间:2017-06-20 21:22:48

标签: php paypal

我如何以及在哪里开始使用PayPal调试Guest Checkout?

我的网站运行正常超过一年,现在突然移动网站上的访客结账停止了工作。我正在使用PayPal PHP SDK,代码中没有任何更改。访客结账时,它不会在移动设备上显示,但在桌面上运行正常。

我搜索了文档和论坛,我看到了几个类似的问题,但没有答案。

提到的事情:

  • 清除浏览器缓存,不是随机用户抱怨的情况,而是自己尝试过但仍然没有快乐。
  • 您的业务需要设置为接受信用卡/借记卡,据说它在一年内运行顺利,现在突然间它无效。
  • 检查服务器上的日志,但根本没有错误日志。
  • 我试图看到开发人员对PayPal的支持,但或多或​​少它只指向“询问社区”而没有真正的方式联系技术支持。

更新使用的相关代码部分:

    use PayPal\Api\Amount;
    use PayPal\Api\Details;
    use PayPal\Api\Item;
    use PayPal\Api\ItemList;
    use PayPal\Api\Payer;
    use PayPal\Api\Payment;
    use PayPal\Api\RedirectUrls;
    use PayPal\Api\Transaction;
    use PayPal\Api\ShippingAddress;

    $apiContext = new \PayPal\Rest\ApiContext(
    new \PayPal\Auth\OAuthTokenCredential(
    'XXX',     // ClientID
    'YYY'      // ClientSecret
    )
    );

    $payer = new Payer();
    $payer->setPaymentMethod("paypal");

    // ### Itemized information
    // (Optional) Lets you specify item wise
    // information
    $item1 = new Item();
    $item1->setName($name)
        ->setCurrency($currency)
        ->setQuantity($quantity)
        ->setPrice($price)
        ->setDescription($description)
        ->setSku($productid);
    $myitem=array($item1);

    $itemList->setItems($myitem);
    $details = new Details();
    $details->setShipping($shipping)
        ->setTax($tax)
        ->setSubtotal($subtotal);

    $amount = new Amount();
    $amount->setCurrency($currency)
        ->setTotal($totalprice)
        ->setDetails($details);

    $transaction = new Transaction();
    $transaction->setAmount($amount)
        ->setItemList($itemList)
        ->setDescription($description);

    $baseUrl = "https://........";
    $redirectUrls = new RedirectUrls();
    $redirectUrls->setReturnUrl("$baseUrl/execute.php")
        ->setCancelUrl("$baseUrl/cancel_execute.php?id=$productid");

    $payment = new Payment();
    $payment->setIntent("sale")
        ->setPayer($payer)
        ->setRedirectUrls($redirectUrls)
        ->setTransactions(array($transaction));

    try {
        $payment->create($apiContext);
    } catch (PayPal\Exception\PPConnectionException $ex) {
        echo "Exception: " . $ex->getMessage() . PHP_EOL;
        //echo "<pre>";
        //var_dump($ex->getData()); 
        exit(1);
    }


    foreach($payment->getLinks() as $link) {
        if($link->getRel() == 'approval_url') {
            $redirectUrl = $link->getHref();
            break;
        }
    }

    $payment_id = $payment->getId();

1 个答案:

答案 0 :(得分:1)

好的,所以这里是更新,经过2天的地狱和无数的PayPal后退和前进,我在不同渠道与不同的人交谈,我得到了以下答案:

1)这从未在移动设备上运行,因为它不安全,它可以在iPad上运行。 - 真是个笑话,它工作了一年多,实际上它目前还不适用于iPad。

2)您的帐户未设置为接受信用卡付款。 - GGGRRRRR我知道我不是在做PayPal类型的促销活动,这应该允许客人结账!

3)这是来自他们的售票系统(对不起,请用英文说什么?)

  

我为您启用了此选项。请注意直接付款   通过信用卡将无法100%的工作,如果你做了一些   测试可能不起作用。

     

允许或不作为访客付费的流程是一个流程   在我们无法控制的情况下,我们只能最大化津贴。

4)如果客户多次尝试使用该卡,则不允许其使用该卡。 - 但他们没有尝试使用它的机会,因为它们只有一个注册页面

5)没有客人选择 - LOL !!!!!!!!!

6)尝试清除缓存 - LOL !!!!!!!

解决方案? 我最终支付了#34; PayPal Pro&#34;重写我的结账流程,现在我直接处理信用卡,目前在Sandbox中等待PayPal审核我的网页,它确实满足了他们的需求,并为我的专业账户开绿灯(应该不晚于星期一)。

问题是否真的被排序了? - 没有

如果有人偶然发现这篇文章,并且知道如何让宾客结账工作,请不要犹豫分享,除此之外,我的个人结论是,在这个周末之后我将寻求使用另一个(可能更便宜)支付处理网关并且只保留PayPal作为次要选项是有人想要使用PayPal Express注销。

相关问题