IPN 経由で PayPal と通信するショッピング カートを設定中です。PHP と WordPress のシンプルな Paypal ショッピング カートを使用して、Micha Carrick の IPN を使用しています。数週間後、自分のニーズに対応するためにカートを修正しましたが、最後の不正チェックの実装に問題があります。3 番目の不正チェックは、支払われた金額が購入金額と等しいことを確認することです。私のストアには多数のアイテムが含まれているため、ミカ・キャリックが彼の例で行っているようにセット番号を使用することはできません。答えは PHP セッション変数を使用することだと思っていましたが、うまくいきませんでした。ショッピングカート内:
$_SESSION['cart_total'] = $total+$postage_cost;
続いて、PayPal から返された支払額である mc_gross 変数を、ipn ファイル内の $_SESSION['cart_total'] 変数と比較しようとしました。残念ながら、これは成功していません。エラーチェックのためにセッション変数の値をipnエラーログに出力したところ、PayPalチェックアウトを完了するためにページを離れた結果、セッション変数が設定されていないか、少なくとも転送されていないようです。2 番目のセッション変数を出力しようとしましたが、これは正しく設定され、さまざまなメニューで使用されていることがわかっていますが、ipn ファイルにも値がありません。
この不正チェックを完了する方法について何か提案はありますか?