検索
ホームページphp教程php手册phpショッピングサイトでの支払いにPaypalを使用する方法

phpショッピングサイトでの支払いにPaypalを使用する方法

Jun 13, 2016 pm 12:12 PM
chttpspaypalphp説明書支払う詳しいショッピングサイト

详细参考:

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables

定义常量paypalurl

const PAYPAL_URL = 'https://www.sandbox.paypal.com/';

将要传送的数据记录为一个数组

$paypalData = array(
                   'add'                => 1,
                    'cmd'               => '_ext-enter',
                    'redirect_cmd'    => '_xclick',
                    'business'            => $paypalAccount, --------liangliangfeng211@gmail.com这个是收款人的paypal账号
                    'item_name'       => '51customimprint shopping cart',
                    'item_number'   => $order->id,
                    'first_name'        => $address->first_name,
                    'last_name'         => $address->last_name,
                    'address1'           => $address->address1,
                    'city'                     => $address->city,
                    'state'                  => $address->state_or_province,
                    'zip'                      => $address->zip_code,
                    'amount'            => $order->subtotal,
                    'shipping'          => $order->shipping_fee,
                    'no_note'            => 1,
                    'currency_code'    => 'USD',
                    'lc'                      => 'US'
                );

将这个数组转化为一个url地址

$paypalArguments = array();
                foreach($paypalData as $k => $v){
                    array_push($paypalArguments, $k . '=' . urlencode($v));
                }
                $paypalUrl = self::PAYPAL_URL . '?' . implode('&', $paypalArguments);
                $this->_redirect($paypalUrl);

次に、テストするときに、Paypal インターフェースのアドレスを次のように設定する必要があります:

https://www.sandbox.paypal.com/cgi-bin/webscr

基本プロセス
顧客が支払いを行うと、PayPal は指定された URL (type=”hidden” name=”notify_url” value=” “) のサーバーに通知を送信します。この通知には、顧客のすべての支払い情報 (顧客名、金額など) と暗号化されたコードが含まれます。サーバーは通知を受けると、暗号化コードを含むその情報を安全な PayPal URL に送り返します。 PayPal は、暗号化された文字列をチェックしてトランザクションを認証します。この IPN データの PayPal への返送により「なりすまし」が防止されるため、IPN が PayPal からのものであることを確認できます。検証する際、PayPal は正当性の確認をサーバーに送り返します。

ヒント: 即時支払い通知を有効にするには、ユーザー情報からの通知を受信できる URL を入力する必要があります。

即時支払い通知を有効にすると、支払いを受け取るたびにサーバーが通知を受け取り、この通知は非表示の「FORM POST」で指定された URL に送信され、すべての支払い情報が含まれます。通知の FORM 変数は、このページの下部にリストされています。

PayPal から IPN を受け取るたびに、注文を実行する前に、以下で説明する通知確認プロセスを完了する必要があります。記載された情報を確認することで、取引が正当であることが保証されます。

通知確認 IPN
支払いが PayPal アカウントに入金されたことを確認するには、「receiver_email」として使用される電子メール アドレスが PayPal アカウントに登録され確認されていることを確認する必要があります。

サーバーが即時支払い通知を受信したら、PayPal への HTTP POST を作成して通知を確認する必要があります。 POST は https://www.paypal.com/cgi-bin/webscr

に送信する必要があります。

受信したすべてのフォーム変数を受信したとおりに送信する必要があります。また、値「_notify-validate」を持つ「cmd」という名前の変数 (たとえば、cmd=_notify-validate) を POST 文字列に追加する必要があります。

PayPal はこの POST に返信し、返信の本文に「VERIFIED」または「INVALID」という単語を含めます。 VERIFIED の応答を受け取った場合、注文を実行する前に実行する必要があるいくつかのチェックがあります:

「保留中」や「失敗」などの他の結果に対しても IPN が送信されるため、「payment_status」が「完了」であることを確認します。
詐欺師が古い完了したトランザクションを再利用するのを防ぐために、「txn_id」が重複していないか確認してください。
詐欺師のアカウントに支払いが送られるのを防ぐために、「receiver_email」が PayPal アカウントに登録されているメール アドレスであることを確認してください。
他の取引詳細 (商品番号や価格など) をチェックして、価格が変更されていないことを確認したら、IPN データでデータベースを更新し、購入を処理できます。
「無効な」通知を受け取った場合は、不審な通知とみなされ、調査される必要があります。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい