1

Paypal MassPayment API を使用する必要がある Rails アプリケーションを作成しています (この場合、アダプティブ ペイメントはオプションではありません)。

「paypal-sdk-merchant」を使用しています https://github.com/paypal/merchant-sdk-ruby

https://paypal-sdk-samples.herokuapp.com/merchant/mass_payで提案されているサンプルに従って、 1 つの 受信者で「一括支払い」を作成できます。

@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])
4

2 に答える 2

1

構文は、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
于 2014-05-13T16:03:56.910 に答える
0
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
于 2015-02-09T12:47:02.350 に答える