Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 贝宝支付网关集成_Php_Paypal - Fatal编程技术网

Php 贝宝支付网关集成

Php 贝宝支付网关集成,php,paypal,Php,Paypal,我将paypal支付网关集成到一个网站中。成功支付后,我将其重定向到success.php文件。在success.php文件中,我包含了所有插入参数和一条成功消息。付款后,它将正确重定向到success.php文件,但显示付款失败消息,并且没有数据插入数据库。下面是我的success.php页面代码 <?php include 'dbConfig.php'; //Get payment information from PayPal $item_number = $_GET['ite

我将paypal支付网关集成到一个网站中。成功支付后,我将其重定向到
success.php
文件。在
success.php
文件中,我包含了所有插入参数和一条成功消息。付款后,它将正确重定向到
success.php
文件,但显示付款失败消息,并且没有数据插入数据库。下面是我的
success.php
页面代码

<?php
 include 'dbConfig.php';


//Get payment information from PayPal
$item_number = $_GET['item_number']; 
$txn_id = $_GET['tx'];
$payment_gross = $_GET['amt'];
$currency_code = $_GET['cc'];
$payment_status = $_GET['st'];

//Get product price from database
 $productResult = $db->query("SELECT price FROM products WHERE id = = '".$item_number."'"); 
$productRow = $productResult->fetch_assoc();
$productPrice = $productRow['price'];

if(!empty($txn_id) && $payment_gross == $productPrice){
//Check if payment data exists with the same TXN ID.
$prevPaymentResult = $db->query("SELECT payment_id FROM payments WHERE txn_id = '".$txn_id."'");

if($prevPaymentResult->num_rows > 0){
    $paymentRow = $prevPaymentResult->fetch_assoc();
    $last_insert_id = $paymentRow['payment_id'];
}else{
    //Insert tansaction data into the database
    $insert = $db->query("INSERT INTO   payments(item_number,txn_id,payment_gross,currency_code,payment_status) VALUES('".$item_number."','".$txn_id."','".$payment_gross."','".$currency_code."','".$payment_status."')");
    $last_insert_id = $db->insert_id;
}
 ?>
<h1>Your payment has been successful.</h1>
<h1>Your Payment ID - <?php echo $last_insert_id; ?></h1>
<?php }else{ ?>
<h1>Your payment has failed.</h1>
<?php } ?>

根据Van Hoa的建议,当您将用户重定向到成功页面时,paypal不会将付款信息作为参数发送。PayPal将只发送回令牌和付款人ID

将买家从paypal.com重定向回您的网站时, PayPal附加了Express Checkout交易令牌和唯一的 PayPal买家ID作为返回URL的获取参数; 这些GET参数被命名为令牌PayerID

(增加重点)


您可以使用返回的令牌通过
GetExpressCheckoutDetails
获取支付详细信息,并将您从PayPal获得的令牌传递给它。

没有为其准备的语句。你是