Paypal を Rails アプリケーションに統合する

PaypalはeコマースベースのWebアプリケーションで、2つのアカウント間で金額を転送します。このサービスをrailsアプリケーションに統合する方法を様々なステップで見てみましょう。.

:ローカルマシンの開発モードで、これらの手順を試してみました。うまくいったが、本番ではテストしていない。.

ステップ1a> ペイパルのアカウントをお持ちでない方は、以下をご覧ください。 http://developer.paypal.com にサインアップしてアカウントを作る。そのアカウントでログインしてください。.

b> アプリケーションをテストするために、ユーザーはペイパルのテストアカウントを持っている必要があります。例えば、私は買い手と売り手の2つのアカウントを作りました。どちらも安全なログインができ、後でこれらのアカウントを使って支払いを送ったり受け取ったりすることができます。.

c>これらの事前設定されたアカウントは、テストアカウントタブに行くことによって作成することができます。次に、少し余分な情報とペイパルのテストアカウントを作成する事前設定オプションをクリックしてください。.

d> さて、要件に基づいて、特定のアカウントのチェックボックスをチェックし、特定のテストアカウントに入るためにリンクボックスをクリックします。それをクリックすると、次のページにリダイレクトされます。 http://sandbox.paypal.com. .これらのアカウントと支払いは、元のアカウントと同じようにシミュレートされます。.

e>それでは、これらのアカウントを使用するようにrailsアプリケーションをコーディングしてみましょう。“Add to cart ”オプションを使っていくつかのアイテムを選択し、カートに追加します。.

次のページ:

f> cart.rbのpaypal_urlメソッドでpaypalサイトにリダイレクトする:

 def paypal_url(return_url,notify_url) #1つ目のurlは自分のアプリに戻るため、2つ目のurlはpaypalが通知を送るため values = { :business => ‘[email protected]’, #アカウントはpaypalが生成 :cmd => ‘cart’, :upload => 1, :return => return_url, :invoice => id, :notify_url => notify_url } line_items.each_with_index do |item, index| values.merge!({ “amount#{index+1}” => item.product.price, “item_name_#{index+1}” => item.product.title, “item_number_#{index+1}” => item.product.id, “quantity_#{index+1}” => item.quantity }) end “https://www.sandbox.paypal.com/cgi-bin/webscr?” + values.to_query end "https://www.sandbox.paypal.com/cgi-bin/webscr?" + values.to_query end "https://www.sandbox.paypal.com/cgi-bin/webscr?" + values.to_query end "https://www.sandbox.paypal.com/cgi-bin/webscr?" + values.to_query end "https://www.sandbox.paypal.com/cgi-bin/webscr ?+ values.to_query end

g>私のshow.html.erbでは、チェックアウトボタンと戻るためのURLを配置しています:

h> このサービスをシミュレートしている間はログインしている必要があります。.

i> チェックアウトをクリックした後、安全な接続でPaypalサイトにリダイレクトされます。.

このように表示されます:これは、カートの詳細と購入者がログインするためのフォームが含まれています。.

j>この支払いページでは、ログインするために彼のバイヤーのアカウントのIDとパスワードを与える必要があります。ログイン後、他のユーザーの詳細も表示され、今すぐ支払うオプションがあります。支払った後、バイヤーはページ上で提供されるリンクをクリックして自分の店に戻ることができます。.

Paypalからのお知らせ

a> paypalから送られた通知をデータベースに保存することができます。そのためには、適切なフィールドを持つモデルが必要です。例えば、rails gのモデル Payment Notification params:text status:string transaction_id:string cart_id:integer

私の通知コントローラ(createメソッド)は次のようになります。

def create PaymentNotification.create!(:params => params, :cart_id => params[:invoice], :status => params[:payment_status], :transaction_id => params[:txn_id]) render :nothing => true 終了

b>本番環境でデプロイしない限り、これをテストする直接的な方法はありませんが、curlコマンドを使用してコンソールでテストすることができます。 例-curl -d “txn_id=9JU83038HS278211W&invoice=1&payment_status=Completed” http://localhost:3000/payment_notifications

c> このコマンドが例外を発生させることなく実行されれば、すべてがうまくいき、値がデータベースに保存される。.

今すぐお支払いください。.

読んでくれてありがとう

ご連絡ください。

最新のアップデートを購読する

関連記事

投稿者について

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


jaJapanese