Braintree—как получить данные кредитной карты last_4 от транзакции или подписки

Как получить resultTransaction.sale()Subscription.create()доступ к реквизитам кредитной карты при оплате?

У меня есть следующие методы:

  def bt_make_customer(donation, nonce)
    result = Braintree::Customer.create(
      first_name: donation.user.first_name,
      last_name: donation.user.last_name,
      email: donation.user.email,
      payment_method_nonce: nonce
      )
  end

  def bt_make_payment(donation, customer, nonce)
    if donation.type == "ReoccurringDonation"
      result = Braintree::Subscription.create(
        payment_method_token: customer.payment_methods[0].token,
        price: donation.amount,
        plan_id: "pay-monthly"
        )
    elsif donation.type == "SingleDonation"
      result = Braintree::Transaction.sale(
        :amount => donation.amount,
        :payment_method_nonce => nonce,
        :options => {:submit_for_settlement => true}
        )
    end
  end

Как вы можете видеть, программа принимает разовые пожертвования или ежемесячные подписки. Когда любой из них сделан, я хочу получить данные кредитной карты, такие как last_4, чтобы отобразить в пользовательском чеке.

2 ответа

  1. Вы можете позвонить

    result.last_4
    

    для получения последних 4 цифр номера кредитной карты.
    Для получения дополнительной помощи посетите здесь

  2. Чтобы получить доступ к полям кредитной карты, необходимо ввести

    result.transaction.credit_card_details.{field you want}
    

    Вы можете приостановить программу byebugпосле транзакции и ввести result.inspectв консоли, чтобы увидеть, какие поля содержит результат.