5

Wordpress CMS用の製品生成および表示プラグインを構築しました。現在、チェックアウトプロセスのために何らかの形式のPayPal統合を統合しようとしています。

私はカート、製品、送料、合計などすべてを自分の側で把握しており、誰かがこの情報をPayPalに送信する最も簡単な方向に私を向けてくれることを望んでいました。これを行う方法の中には、それほど安全ではないものもあれば、ある種のショードッグのようにフープを飛び越えさせるものもあることを理解しています。私はcURLの使い方を学び、次にそれをPHPで動作させる方法を学ぼうとしています-それは本当に少し混乱しているようです。現在、WAMPサーバーでcURLが機能しています...しかし..

より良い方法はありますか、それともcURLを学び続ける必要がありますか?

私はデータをフォーマットすることができますが、PayPalに送信する必要があり、JavaScriptでこれを行うことを気にしません-これはペイウォールではなく、すべての注文が人間によって正確であるかどうかがチェックされます-誰かがクライアント側をいじりますスクリプトは私を悩ませません。また、間違いなくPayPalに送信したいのですが、クレジットカード情報の保存/処理には一切関与しません。ただし、IPNがあると便利です。誰かが私を正しい方向に向けたり、私がすでにその方向に向かっていることを保証したりできますか?

どうもありがとう。

4

2 に答える 2

7

これは、すべてのフォームの詳細を含むPayPalに自動的にリダイレクトする方法です。

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">

 <input type="hidden" name="cmd" value="_xclick" />
  <input type="hidden" name="cbt" value="Return to example" />
 <input type="hidden" name="business" value="email" />
 <input type="hidden" name="item_name" value="example Purchase" />
 <input type="hidden" name="amount" value="9.99">
 <input type="hidden" name="button_subtype" value="services" />
 <input type="hidden" name="no_shipping" value="1">
 <input type="hidden" name="return" value="URL" />
 <input type="hidden" name="notify_url" value="URL"/>
 <input type="hidden" name="cancel_return" value="URL" />
<input type="hidden" name="currency_code" value="USD"/>
<input type="hidden" name="image_url" value="" />
<input type="hidden" id="custom" name="custom" value="invoice_id to track"/>
 <input type="hidden" class="btn btn-primary" style="width:100%" alt="PayPal - The safer, easier way to pay online!"/>

</form>

複数の製品の場合、たとえば、フォームにさらに製品を追加するだけです。

<input type="hidden" name="item_name_1" value="Item #1">
<input type="hidden" name="amount_1" value="1.00">
<input type="hidden" name="item_name_2" value="Item #2">
<input type="hidden" name="amount_2" value="2.00">

ただし、この方法を使用することはすべてが優れているわけではありません

すべてのデータはPHPで生成され、ページに入力される必要があります。また、IPNがコールバックしたときにトランザクションをチェックして、支払いが行われたことを確認する必要があります。

<script type="text/javascript">
  function myfunc () {
     var frm = document.getElementById("paypal");
     frm.submit();
  }
  window.onload = myfunc;
</script>
于 2013-03-25T23:42:45.437 に答える
3

新しい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に取り組んでいます。先月かそこらで出たばかりです。あなたもそれを調べたいと思うかもしれません。

于 2013-03-26T07:30:54.420 に答える