【问题标题】:Integrate PayPal via php通过 php 集成 PayPal
【发布时间】:2018-07-05 22:31:15
【问题描述】:

我正在尝试将 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";

提前感谢您的帮助,我一直在查看 youtubestackoverflow 但似乎无法弄清楚问题所在。

【问题讨论】:

  • 您对问题/错误/困难的描述过于模糊,而且您似乎还可能同时描述了几个不同的问题。问题需要澄清。
  • 正确格式化代码后,可读性会提高 600%
  • 不确定安全性,您似乎没有实施最佳实践。您不应该在 GET 参数中投入太多。它们最终会出现在代理等的日志文件中,这违反了数据隐私。
  • DanFromGermany,我删除了缩进,因为这个网站一直说我的代码不在代码块中......所以这就是它没有格式化的原因。但是我的两个问题是它不再转发了。而且我不确定如何添加处理费...
  • 我检查并格式化了代码以使其更易于阅读,并且我还在顶部调整了我的问题。谢谢

标签: javascript php jquery paypal


【解决方案1】:

我发现了我的错误。

当我调整网页以使其自动从数据库中填写表单时。该表单没有发送其中一个字段项,并且在 POST 请求中将其留空。所以页面只是停止并杀死了自己......

【讨论】:

    猜你喜欢
    • 2013-09-01
    • 2011-09-01
    • 1970-01-01
    • 2013-06-01
    • 2022-01-17
    • 2020-07-10
    • 2017-12-26
    • 2013-02-06
    • 2017-03-25
    相关资源
    最近更新 更多