【问题标题】:Why paypal sandbox account amount does not updating?为什么paypal沙盒账户金额不更新?
【发布时间】:2019-08-30 21:31:23
【问题描述】:

我的代码正在成功处理支付给贝宝的付款,然后返回成功页面,购买企业账户金额未更新。

我正在 laravel 中尝试 paypal sdk,下面是我正在使用它的脚本,但在前端,它成功进入我使用买家帐户登录的 paypal 页面,然后付款,然后 paypal 返回成功页面。但在卖家账户中,金额没有显示,也没有从买家账户中扣除。

public function createpayment(){
        $apiContext = new \PayPal\Rest\ApiContext(
            new \PayPal\Auth\OAuthTokenCredential(
                'Ac.................asd',     // ClientID
                'Ac.................sdf'      // ClientSecret
            )
        );
        $payer = new Payer();
        $payer->setPaymentMethod("paypal");
        $item1 = new Item();
        $item1->setName('Ground Coffee 40 oz')
            ->setCurrency('USD')
            ->setQuantity(1)
            ->setSku("123123") // Similar to `item_number` in Classic API
            ->setPrice(7.5);
        $item2 = new Item();
        $item2->setName('Granola bars')
            ->setCurrency('USD')
            ->setQuantity(5)
            ->setSku("321321") // Similar to `item_number` in Classic API
            ->setPrice(2);

        $itemList = new ItemList();
        $itemList->setItems(array($item1, $item2));

        $details = new Details();
        $details->setShipping(1.2)
            ->setTax(1.3)
            ->setSubtotal(17.50);

        $amount = new Amount();
        $amount->setCurrency("USD")
            ->setTotal(20)
            ->setDetails($details);

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


        /* $baseUrl = getBaseUrl(); */
        $redirectUrls = new RedirectUrls();
        $redirectUrls->setReturnUrl(route('success'))
        ->setCancelUrl(route('cancel'));


        $payment = new Payment();
        $payment->setIntent("sale")
            ->setPayer($payer)
            ->setRedirectUrls($redirectUrls)
            ->setTransactions(array($transaction));
         /* $payment->create($apiContext);
        return  redirect($payment->getApprovalLink()); */

        try {
            $payment->create($apiContext);
        } catch (Exception $ex) {
            ResultPrinter::printError("Created Payment Using PayPal. Please visit the URL to Approve.", "Payment", null, $request, $ex);
            exit(1);

        }
        $approvalUrl = $payment->getApprovalLink();

        echo $payment, $approvalUrl;
    }

    public function success(){
        $apiContext = new \PayPal\Rest\ApiContext(
            new \PayPal\Auth\OAuthTokenCredential(
                'Ac.................asd',     // ClientID
                'Ac.................sdf'      // ClientSecret     // ClientSecret
            )
        );

        return request();
    }

我希望将此代码从买家转账到卖家账户,然后返回成功页面并做出响应。有人可以指导我吗?我想感谢。

【问题讨论】:

    标签: php laravel paypal


    【解决方案1】:

    在成功页面上,您需要执行支付才能真正完成交易。

    https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/payments/ExecutePayment.php

    【讨论】:

      猜你喜欢
      • 2014-01-01
      • 2015-09-29
      • 2016-12-05
      • 2013-02-28
      • 2014-08-11
      • 2014-08-28
      • 2018-05-09
      • 2017-03-24
      • 2021-01-30
      相关资源
      最近更新 更多