与 php 的 Paypal 集成未转发到 paypal
Paypal Integration with php not forwarding to paypal
我正在尝试将 paypal
整合到我正在构建的宠物收养网站中。然而,我有一个基本代码在工作,当我围绕它构建时,它停止转发到 paypal
网站进行支付。
这是应该开始和完成收费然后将信息保存到数据库的页面。
我也不完全确定如何从 paypal
获取返回网站的信息以保存交易数据。
我必须进行销售的代码:
$product = $dogname;
$price = $deposit;
$shipping = 0.00;
$total = $price + $shipping;
$payer = new Payer();
$payer ->setPaymentMethod('paypal');
$item = new Item();
$item -> setName($product)
->setCurrency('USD')
->setQuantity(1)
->setPrice($price);
$itemList = new ItemList();
$itemList ->setItems([$item]);
$details = new Details();
$details ->setShipping($shipping)
->setSubtotal($price);
$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($total)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemlist)
->setDescription("Deposit for ". $dogname);
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl(SITE_URL . "/adoption.php?success=TRUE")
->setCancelUrl(SITE_URL . "/adoption.php?success=FALSE");
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions([$transaction]);
try{
$payment ->create($paypal);
} catch(Exception $e){
die($e);
}
$approvalUrl = $payment->getApprovalLink();
?>
<script>
setTimeout(function(){
window.location = "<?php echo $approvalUrl; ?>";
}, 100);
</script>
<?php
}
然后在我这边处理销售
$paymentId = $_GET['paymentId'];
$payerId = $_GET['PayerID'];
$payment = Payment::get($paymentId, $paypal);
$execute = new PaymentExecution();
$execute->setPayerId($payerId);
try{
$result = $payment->execute($execute, $paypal);
?>
<script>
setTimeout(function(){
window.location = "/adoption.php?payment=success";
}, 100);
</script>
<?php
}catch(Exception $e){
$data = json_decode($e->getData());
var_dump($data->message);
}
}else{
die();
}
echo "Payment Made";
我还将为我们的服务收取 2.5% 的手续费,并且也在尝试弄清楚如何将其发送到 paypal。
提前感谢您的帮助,我一直在查看 youtube
和 Whosebug
,但似乎无法弄清楚问题出在哪里。
我发现了我在使用 PayPal 集成时遇到的问题。该表格没有将信息发送给贝宝。 :'(
我正在尝试将 paypal
整合到我正在构建的宠物收养网站中。然而,我有一个基本代码在工作,当我围绕它构建时,它停止转发到 paypal
网站进行支付。
这是应该开始和完成收费然后将信息保存到数据库的页面。
我也不完全确定如何从 paypal
获取返回网站的信息以保存交易数据。
我必须进行销售的代码:
$product = $dogname;
$price = $deposit;
$shipping = 0.00;
$total = $price + $shipping;
$payer = new Payer();
$payer ->setPaymentMethod('paypal');
$item = new Item();
$item -> setName($product)
->setCurrency('USD')
->setQuantity(1)
->setPrice($price);
$itemList = new ItemList();
$itemList ->setItems([$item]);
$details = new Details();
$details ->setShipping($shipping)
->setSubtotal($price);
$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($total)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemlist)
->setDescription("Deposit for ". $dogname);
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl(SITE_URL . "/adoption.php?success=TRUE")
->setCancelUrl(SITE_URL . "/adoption.php?success=FALSE");
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions([$transaction]);
try{
$payment ->create($paypal);
} catch(Exception $e){
die($e);
}
$approvalUrl = $payment->getApprovalLink();
?>
<script>
setTimeout(function(){
window.location = "<?php echo $approvalUrl; ?>";
}, 100);
</script>
<?php
}
然后在我这边处理销售
$paymentId = $_GET['paymentId'];
$payerId = $_GET['PayerID'];
$payment = Payment::get($paymentId, $paypal);
$execute = new PaymentExecution();
$execute->setPayerId($payerId);
try{
$result = $payment->execute($execute, $paypal);
?>
<script>
setTimeout(function(){
window.location = "/adoption.php?payment=success";
}, 100);
</script>
<?php
}catch(Exception $e){
$data = json_decode($e->getData());
var_dump($data->message);
}
}else{
die();
}
echo "Payment Made";
我还将为我们的服务收取 2.5% 的手续费,并且也在尝试弄清楚如何将其发送到 paypal。
提前感谢您的帮助,我一直在查看 youtube
和 Whosebug
,但似乎无法弄清楚问题出在哪里。
我发现了我在使用 PayPal 集成时遇到的问题。该表格没有将信息发送给贝宝。 :'(