我看到了关于如何调用付费电话的两个不同版本,我想知道我做错了什么,因为这两个版本都不起作用。
@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"
}
)
最佳答案
我推荐使用这个 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_url
和cancel_url
值,必须是自己网站的相对url!
问候!
关于ruby-on-rails - Ruby 的 Paypal 自适应支付,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14451587/