![](/img/trans.png)
[英]Rails passing object to class in modules directory paypal-sdk-merchant
[英]Add multiplie receivers to Paypal Mass Pay using Rails and 'paypal-sdk-merchant' gem
我正在創建一個必須使用Paypal MassPayment API的Rails應用程序(在我們的情況下, 不支持自適應付款)。
我正在使用'paypal-sdk-merchant'https: //github.com/paypal/merchant-sdk-ruby
按照https://paypal-sdk-samples.herokuapp.com/merchant/mass_pay中建議的示例,我可以使用一個接收器創建“批量付款”:
@api = PayPal::SDK::Merchant::API.new
# Build request object
@mass_pay = @api.build_mass_pay({
:ReceiverType => "EmailAddress",
:MassPayItem => [{
:ReceiverEmail => "enduser_biz@gmail.com",
:Amount => {
:currencyID => "EUR",
:value => "3.00" } }] })
# Make API call & get response
@mass_pay_response = @api.mass_pay(@mass_pay)
# Access Response
if @mass_pay_response.success?
else
@mass_pay_response.Errors
end
問題是: 如何構建具有多個接收方的批量支付對象?
根據文檔,我嘗試了以下代碼,並進行了多種修改,但Paypal似乎只考慮了最后一項:
@api = PayPal::SDK::Merchant::API.new
# Build request object
@mass_pay = @api.build_mass_pay({
:ReceiverType0 => "EmailAddress",
:MassPayItem0 => [{
:ReceiverEmail => "enduser_biz@gmail.com",
:Amount => {
:currencyID => "EUR",
:value => "3.00" } }],
:ReceiverType1 => "EmailAddress",
:MassPayItem1 => [{
:ReceiverEmail => "enduser_biz1@gmail.com",
:Amount => {
:currencyID => "EUR",
:value => "5.00" } }]
}
)
(...)
另外,我有一系列的電子郵件和值,所以我需要全部支付這些費用,怎么辦?
理想情況下,我想要一些東西:
@mass_pay = build_mass_pay_with_array_of_email_and_values([ARRAY_OF_EMAILS_AND_VALUES_HERE])
語法有點像JSON。 []
是一個數組,您將向該MassPayItem
數組添加更多成員:
:MassPayItem => [{
:ReceiverEmail => "enduser_biz@gmail.com",
:Amount => {
:currencyID => "EUR",
:value => "3.00"
}
},
{
:ReceiverEmail => "enduser_biz2@gmail.com",
:Amount => {
:currencyID => "EUR",
:value => "1.00"
}
}]
最終以:
require 'paypal-sdk-merchant'
@api = PayPal::SDK::Merchant::API.new
# Build request object
@mass_pay = @api.build_mass_pay({
:ReceiverType => "EmailAddress",
:MassPayItem => [{
:ReceiverEmail => "enduser_biz@gmail.com",
:Amount => {
:currencyID => "EUR",
:value => "3.00"
}
},
{
:ReceiverEmail => "enduser_biz2@gmail.com",
:Amount => {
:currencyID => "EUR",
:value => "1.00"
}
}]
})
# Make API call & get response
@mass_pay_response = @api.mass_pay(@mass_pay)
# Access Response
if @mass_pay_response.success?
else
@mass_pay_response.Errors
end
require 'paypal-sdk-merchant'
@api = PayPal::SDK::Merchant::API.new
#make an array of members
member_list = []
member_list << {
:ReceiverEmail => 'someone@example.com',
:Amount => {
:currencyID => "USD",
:value => 1.6
}
}
member_list << {
:ReceiverEmail => 'someone2@example.com',
:Amount => {
:currencyID => "USD",
:value => 1.6
}
}
# Build request object
@mass_pay = @api.build_mass_pay(member_list)
# Make API call & get response
@mass_pay_response = @api.mass_pay(@mass_pay)
# Access Response
if @mass_pay_response.success?
else
@mass_pay_response.Errors
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.