【问题标题】:Paypal Adaptive Payment for RubyRuby 的 Paypal 自适应支付
【发布时间】:2013-01-05 06:31:42
【问题描述】:

我已经看到了关于如何进行付费电话的两个不同版本,我想知道我做错了什么,因为这两个版本都不起作用。

@result = HTTParty.post('https://svcs.sandbox.paypal.com/AdaptivePayments/Pay',
  :body =>
    {:actionType => "PAY",
     :currencyCode => "USD",
     :receiverList => {
       :receiver => [
         {:amount => "1.00",
          :email => "rec1_1312486368_biz@gmail.com"}]
     },
     :returnUrl => "www.yahoo.com",
     :cancelUrl => "google.com",
     :requestEnvelope => {
       :errorLanguage => "en_US",
       :detailLevel => "ReturnAll"}
     },
     :headers => {
       "X-PAYPAL-SECURITY-USERID" => "caller_13124862354_api1.gmail.com",
       "X-PAYPAL-SECURITY-PASSWORD" => "1234567890",
       "X-PAYPAL-SECURITY-SIGNATURE" => "AbtI7HV1xB428VygBUcIhARzxch4AL78.T19CTeylixNNxDZUu0iO87e",
       "X-PAYPAL-APPLICATION-ID" => "APP-81W284485P518643T",
       "X-PAYPAL-REQUEST-DATA-FORMAT" => "JSON",
       "X-PAYPAL-RESPONSE-DATA-FORMAT" => "JSON"
     }
 )

@result = HTTParty.post('https://svcs.sandbox.paypal.com/AdaptivePayments/Pay',
  :body => {
    :actionType => "PAY",
    :currencyCode => "USD",
    "receiverList.receiver(0).email".to_sym => "rec1_1312486368_biz@gmail.com",
    "receiverList.receiver(0).amount".to_sym => "1.00",
    :returnUrl => "www.yahoo.com",
    :cancelUrl => "gizmodo.com",
    :requestEnvelope => {
      :errorLanguage => "en_US",
      :detailLevel => "ReturnAll"}
  },
  :headers => {
    "X-PAYPAL-SECURITY-USERID" => "caller_13124862354_api1.gmail.com",
    "X-PAYPAL-SECURITY-PASSWORD" => "1234567890",
    "X-PAYPAL-SECURITY-SIGNATURE" => "AbtI7HV1xB428VygBUcIhARzxch5AL65.T18CTeylixNNxDZUu0iO87e",
    "X-PAYPAL-APPLICATION-ID" => "APP-81W284485P518643T",
    "X-PAYPAL-REQUEST-DATA-FORMAT" => "JSON",
    "X-PAYPAL-RESPONSE-DATA-FORMAT" => "JSON"
   }
)

【问题讨论】:

    标签: ruby-on-rails ruby paypal paypal-adaptive-payments


    【解决方案1】:

    我推荐使用这个gem,http://rubygems.org/gems/active_paypal_adaptive_payment,你可以付款,预批付款,取消付款...等

    您需要使用下一个代码进行付款。

    def checkout #this method is for checking, you must add this code to your method on your controller
      recipients = [{:email => 'email1',
                     :amount => some_amount,
                     :primary => true},
                    {:email => 'email2',
                     :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
      )
    
      # For redirecting the customer to the actual paypal site to finish the payment.
      redirect_to (gateway.redirect_url_for(response["payKey"]))
    end
    

    return_urlcancel_url 值必须是您自己网站上的相对 url!

    问候!

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 2015-07-19
        • 2021-08-04
        • 2014-10-13
        • 2013-11-10
        • 2013-11-07
        • 1970-01-01
        • 2014-01-23
        • 2012-03-21
        • 2014-03-07
        相关资源
        最近更新 更多