【发布时间】: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();
}
我希望将此代码从买家转账到卖家账户,然后返回成功页面并做出响应。有人可以指导我吗?我想感谢。
【问题讨论】: