-1

ウェブサイトでペイパル標準コードを使用していますが、支払いが成功した後、成功ページに情報がありません。

PaypalページからトランザクションID、金額、その他の詳細を取得する方法。

私のコードはこれです:

payment.php ページ

<?php 
 $paypal_url='https://www.sandbox.paypal.com/cgi-bin/webscr'; // Test Paypal API URL
 $paypal_id='ankur.garg@trignodev.com'; // Business email ID
?>

<form action="<?php echo $paypal_url; ?>" method="post">
<input type='hidden' name='business' value='<?php echo $paypal_id; ?>'>
<input type='hidden' name='cmd' value='_xclick'>
<input type='hidden' name='item_name' value='<?php echo $product_name;?>'>
<input type='hidden' name='amount' value='<?php echo $product_price;?>'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='cancel_return' value='<?php echo $base;?>'>
<input type='hidden' name='return' value='<?php echo $base;?>index.php?route=product/creditsuccess'>
<input type="submit" value="Buy Now">
 </form>

そしてsuccess.php

<?php 
$item_transaction = $_REQUEST['tx'];
$item_price = $_POST['amount']; // Paypal received amount

echo "your payment is successfully";
echo "and here is the detail:";

echo $item_transaction;
echo $item_price;
?>

成功ページでトランザクション ID、金額、および payment_status を取得するのを手伝ってください。

4

2 に答える 2

0

それは正しい方法ではありません...ポストメソッドで取得したすべての値をクエリ文字列としてpaypalに渡す必要があります....この関数を使用すると、役立つかもしれません...

これからフォームラインを変更し、

<input type="submit" value="Buy Now">

に、

<input type="submit" name="submit" value="Buy Now">

今ページのトップに、

このように関数を呼び出します

function PaypalPayment($paypal_email,$return_url,$cancel_url,$notify_url,$post)
{
    $querystring .= "?business=".urlencode($paypal_email)."&";  
    foreach($post as $key => $value)
    {
        $value = urlencode(stripslashes($value));
        $querystring .= "$key=$value&";
    }
        $querystring .= "return=".urlencode(stripslashes($return_url))."&";
        $querystring .= "cancel_return=".urlencode(stripslashes($cancel_url))."&";
        $querystring .= "notify_url=".urlencode($notify_url);?>
        <script type="text/javascript">
            window.location = 'https://www.sandbox.paypal.com/cgi-bin/webscr<?php echo      $querystring;?>';  
            /*  window.location = 'https://www.paypal.com/cgi-bin/webscr<?php //echo $querystring;?>'; */
        </script><?php
        exit();
}

 if(isset($_POST['submit']))
 {
   $success_url = // Here Goes Success URL
   $cancel_url = // Here Goes Cancel URL
   $notify_url = // Here Goes Current Page URL

   $payid = // Enter Your merchant id

   PaypalPayment($payid,$success_url,$cancel_url,$notify_url,$_POST);   
  }

この関数を呼び出すだけで、すべての URL とペイパルのメールを渡します... $post でフォーム ($_POST) の投稿データを渡します

于 2013-11-13T13:23:31.730 に答える