Передача API POST в соответствии с типом бизнеса? - PullRequest
1 голос
/ 02 апреля 2019

Обновление API новостей Stripe для учетных записей Connect не позволяет использовать параметр legal_entity для новых учетных записей Stripe.Новый обновленный способ предназначен для "business_type" .. Но проблема, с которой я столкнулся, заключается в том, что мне нужно передать данные из любого из 2 вариантов для business_type для "Individual" или "Company.

Этостарый способ, который работал:

      acct = Stripe::Account.create({
      :country => stripe_account_params[:country],
      :type => "custom",
        legal_entity: {
          first_name: stripe_account_params[:first_name].capitalize,
          last_name: stripe_account_params[:last_name].capitalize,
          type: stripe_account_params[:account_type],
          dob: {
            day: stripe_account_params[:dob_day],
            month: stripe_account_params[:dob_month],
            year: stripe_account_params[:dob_year]
          },
          address: {
            line1: stripe_account_params[:address_line1],
            city: stripe_account_params[:address_city],
            state: stripe_account_params[:address_state],
            postal_code: stripe_account_params[:address_postal]
          },
          ssn_last_4: stripe_account_params[:ssn_last_4]
        },
        tos_acceptance: {
          date: Time.now.to_i,
          ip: request.remote_ip
        }

})

Новый способ (моя попытка):

acct = Stripe::Account.create({
  :country => stripe_account_params[:country],
  :type => "custom",
  :business_type => stripe_account_params[:account_type],
  requested_capabilities: ['card_payments'],
    # company: {
    #   name: stripe_account_params[:business_name],
    #   phone: stripe_account_params[:business_phone],
    #   phone: stripe_account_params[:business_tax_id],
    #     address: {
    #       line1: stripe_account_params[:business_address_line1],
    #       city: stripe_account_params[:business_address_city],
    #       state: stripe_account_params[:business_address_state],
    #       postal_code: stripe_account_params[:business_address_postal]
    #     },
    #   },
    individual: {
      address: stripe_account_params[:address_line1],
      first_name: stripe_account_params[:first_name],
      last_name: stripe_account_params[:last_name],
      ssn_last_4: stripe_account_params[:ssn_last_4],
      # phone: stripe_account_params[:business_tax_id],
        dob: {
          day: stripe_account_params[:dob_day],
          month: stripe_account_params[:dob_month],
          year: stripe_account_params[:dob_year]
        },
        address: {
          line1: stripe_account_params[:address_line1],
          city: stripe_account_params[:address_city],
          state: stripe_account_params[:address_state],
          postal_code: stripe_account_params[:address_postal]
        },
      },
    tos_acceptance: {
      date: Time.now.to_i,
      ip: request.remote_ip
    }

})

С разделом, который я прокомментировал, а незакомментированный, я получаю эту ошибку: (Если я выберу персонажа с закомментированной областью, это будет работать)

Я попытался просто не определять адрес и т. д. и свободно иметь параметры и посмотреть, решит ли Stripeкуда они идут, и это не сработало, поэтому кажется, что их нужно определить, как указано выше, но я не знаю, как их различить.

Вы не можете предоставить как company, так и individual параметров. Предоставьте им только соответственно business_type на счете.

Теперь поля имеют одинаковые имена в полосе:

https://stripe.com/docs/api/accounts/create

Так что я не уверен, как я могу пройти через это. Любые предложения о том, како это?

...