新しいPayPalSDKを使用することをお勧めします。エクスプレスチェックアウトやIPNのコードなど、優れたサンプルコードのセットがあります。こちらをお試しください
https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-indexSDKforExpress
チェックアウトを入手してください。現時点では、SDK 98forPHPである必要があります。
Curlについて心配する必要はありません。SDKがすべてを処理します。典型的な呼び出しはこのようなものかもしれません。
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
このコード行は、サンプルをモデルにしています。それはすべてオブジェクト指向です。彼らはあなたにクラスを提供します。この場合、入力するリクエストオブジェクトがあり、例はそれを行う方法を正確に示しています。サンプルをテンプレートとして使用するだけです。
PayPal Expressのチェックアウトを行いたいようです。こうすることで、クレジットカードなどを処理する必要がなくなります。ユーザーはPayPalWebサイトにリダイレクトされ、すべての金融取引はそこで行われます。ユーザーはサイトにリダイレクトされます。次に、ユーザーが注文を確認し、承認した場合は[送信]をクリックできるページがあります。ユーザーが[送信]をクリックすると、PayPal APIが呼び出され、取引が承認されたことをPayPalに通知します。次にPayPalはトランザクションを実行し、トランザクションIDを含む確認を送り返します。次に、getTransactionDetailsを呼び出して、顧客に確認を表示できます。さらに、これらのトランザクションの詳細をデータベースに入れることができます。
これを呼び出すことができるAPIは次のとおりです。これらは、提供するサンプルコードに厳密にモデル化されています
$paypalService->SetExpressCheckout($setECReq);
コントロールはPayPalURLに移動し、ユーザーはそこで数ページを移動します。コントロールがあなたに戻ります。
注文レビューページ$paypalService->GetExpressCheckoutDetails($ getExpressCheckoutReq);
ご注文確認ページ
$paypalService->GetExpressCheckoutDetails($getECReq);
$paypalService->DoExpressCheckoutPayment($DoECReq);
PayPalに取引を行うように指示します。
$paypalService->GetTransactionDetails($request);
ここでは、トランザクションの詳細をデータベースに入れることができます。また、トランザクションが発生するたびにわかるように、すべての詳細を記載したメールを自分に送信することもできます。
IPNは少し注意が必要です。彼らが提供するサンプルIPNリスナーがあり、それが役立ちます。PayPalのWebサイトでリスナーのURLを設定する必要があります。また、SSL証明書を設定する必要があります。
SDKはかなり新しいものですが、PayPalはさらに新しい方法であるdeveloper.paypal.comに取り組んでいます。先月かそこらで出たばかりです。あなたもそれを調べたいと思うかもしれません。