0

Web ページの支払いシステムにこの gem active_paypa_adaptive_paymentを使用しています。

preapproval_payment機能は正常に動作しており、データベース内にpreapproval_keyがあります。

ここで、 preaproval_keyで契約を実行したいと思います。

私は方法をチェックしてきcancel_preapprovalましたが、うまくいきます。

注文コントローラーのメソッドでcancel_preapprovalメソッドを使用してペイパルページに移動する必要はありません。cancel_order

preapproval_key = @order.payment.preapproval_key
 response = gateway.cancel_preapproval(:preapproval_key => preapproval_key)
   respond_to do |format|
      if response.ack == "Success"
       @order.update_attributes
           format.html { redirect_to user_orders_url(current_user), notice: t(".cancel_order_success") }
       else
           format.html { redirect_to user_orders_url(current_user), alert: t(".cancel_order_wrong") }
      end
    end

preapproval_key送金者口座から受取人口座への資金移動に関する契約を締結するにはどうすればよいですか?

この機能を使用して契約を締結する代わりに、私の との契約をキャンセルすることはできpreapproval_keyますか?

どうもありがとうございました

4

1 に答える 1

0

:preapproval_key解決策は、応答にフィールドを追加することです。あなたの行動のようなもの:

def your_action

recipients = [{:email => 'receiver_email',
                 :amount => some_amount,
                 :primary => true},
                {:email => 'receiver_email',
                 :amount => recipient_amount,
                 :primary => false}
                 ]
  response = gateway.setup_purchase(
    :return_url => url_for(:action => 'action', :only_path => false),
    :cancel_url => url_for(:action => 'action', :only_path => false),
    :ipn_notification_url => url_for(:action => 'notify_action', :only_path => false),
    :receiver_list => recipients
    :preapproval_key => "your_preapproval_key_here",
  )

respond_to do |format|
   if object.update_attributes
    format.html { redirect_to root_path, notice: t(".success") }
   else
    format.html { redirect_to root_path, alert: t(".wrong") }
   end
  end

end

利用可能である必要があることに注意してくださいpreapproval_key事前承認された支払いを行うときにデータベースに保存するか、API PreapprovalDetailsで取得できます

このようにして、事前承認された支払いで支払いを行うことができます。詳細については:fees_payer、 、:senderEmail、 ... などのフィールドを追加することをお勧めします。:memo

よろしく!

于 2012-09-05T20:42:40.843 に答える