module StripeMock::Data

Public Class Methods

balance_transaction(params={}) click to toggle source
# File lib/stripe_mock/data/balance_transaction.rb, line 3
def self.balance_transaction(params={})
  source_id = params[:source] || StripeMock.new_id('tr')
  {
    id: StripeMock.new_id('txn'),
    object: 'balance_transaction',
    amount: -18982,
    currency: 'usd',
    net: -18982,
    type: 'transfer',
    created: Faker::Date.backward(2).to_time.to_i,
    available_on: Faker::Date.backward(1).to_time.to_i,
    status: 'available',
    fee: 0,
    fee_details: [],
    source: source_id,
    description: 'STRIPE TRANSFER',
    sourced_transfers: {
      object: 'list',
      total_count: 0,
      has_more: false,
      url: "/v1/transfers?source_transaction=#{ source_id }",
      data: []
    }
  }.merge(params)
end
balance_transactions(params={}) click to toggle source
# File lib/stripe_mock/data/balance_transaction.rb, line 29
def self.balance_transactions(params={})
  {
    object: 'list',
    url: '/v1/balance/history',
    has_more: false,
    data: [balance_transaction, balance_transaction({
      type: 'charge',
      amount: 37621,
      net: 36000,
      fee: 1621,
      fee_details: [
        {
          amount: 1121,
          currency: "usd",
          type: "stripe_fee",
          description: "Stripe processing fees",
          application: nil
        },
        {
          amount: 500,
          currency: "usd",
          type: "application_fee",
          description: "MY APP application fee",
          application: "ca_xxx"
        }
      ]
    })]
  }.merge(params)
end
bank_account(params={}) click to toggle source
# File lib/stripe_mock/data/bank_account.rb, line 3
def self.bank_account(params={})
  {
    object: 'bank_account',
    id: StripeMock.new_id('ba'),
    last4: '6789',
    country: 'US',
    currency: 'usd',
    status: 'new',
    fingerprint: nil,
    routing_number: Faker::Number.number(9).to_s,
    bank_name: 'STRIPE TEST BANK'
  }.merge(params)
end
card(params={}) click to toggle source
# File lib/stripe_mock/data/cards.rb, line 3
def self.card(params={})
  {
    id: StripeMock.new_id('card'),
    object: "card",
    last4: Faker::Number.number(4).to_s,
    brand: "Visa",
    funding: "credit",
    exp_month: Faker::Number.between(1, 12),
    exp_year: (Date.today.year + 1),
    fingerprint: Faker::Internet.password(16),
    country: "US",
    name: Faker::Name.name,
    address_line1: Faker::Address.street_address,
    address_line2: nil,
    address_city: Faker::Address.city,
    address_state: Faker::Address.state_abbr,
    address_zip: Faker::Address.postcode,
    address_country: nil,
    cvc_check: 'pass',
    address_line1_check: 'pass',
    address_zip_check: 'pass',
    tokenization_method: nil,
    dynamic_last4: nil,
    metadata: {}
  }.merge(params)
end
charge(params={}) click to toggle source
# File lib/stripe_mock/data/charges.rb, line 3
def self.charge(params={})
  id = params[:id] || StripeMock.new_id('ch')

  {
    id: id,
    object: "charge",
    created: Faker::Date.backward(2).to_time.to_i,
    livemode: false,
    paid: true,
    status: 'succeeded',
    amount: Faker::Number.number(4),
    currency: "usd",
    refunded: false,
    source: StripeMock::Data.card,
    captured: true,
    balance_transaction: StripeMock.new_id('txn'),
    failure_message: nil,
    failure_code: nil,
    amount_refunded: 0,
    customer: nil,
    invoice: nil,
    description: "For items ordered on my kick ass app",
    dispute: nil,
    metadata: {},
    statement_descriptor: 'MY APP',
    fraud_details: {},
    receipt_email: nil,
    shipping: nil,
    destination: nil,
    application_fee: nil,
    refunds: {
      object: "list",
      total_count: 0,
      has_more: false,
      url: "/v1/charges/#{ id }/refunds",
      data: []
    }
  }.merge(params)
end
charges(params={}) click to toggle source
# File lib/stripe_mock/data/charges.rb, line 43
def self.charges(params={})
  {
    object: 'list',
    url: '/v1/charges',
    has_more: false,
    data: [charge, charge]
  }.merge(params)
end
token(params={}) click to toggle source
# File lib/stripe_mock/data/tokens.rb, line 3
def self.token(params={})
  {
    id: StripeMock.new_id('tok'),
    livemode: false,
    created: Faker::Date.backward(2).to_time.to_i,
    used: false,
    object: "token",
    type: 'card',
    card: StripeMock::Data.card,
    client_ip: nil
  }.merge(params)
end
transfer(params={}) click to toggle source
# File lib/stripe_mock/data/transfers.rb, line 3
def self.transfer(params={})
  id = params[:id] || StripeMock.new_id('tr')
  bank_account_id = StripeMock.new_id('ba')

  {
    id: id,
    object: "transfer",
    created: Faker::Date.backward(2).to_time.to_i,
    date: Date.today.to_time.to_i,
    livemode: false,
    amount: 100,
    currency: "usd",
    reversed: false,
    status: 'paid',
    type: 'bank_account',
    reversals: {
      object: "list",
      total_count: 0,
      has_more: false,
      url: "/v1/transfers/#{id}/reversals",
      data: []
    },
    balance_transaction: StripeMock.new_id('txn'),
    bank_account: StripeMock::Data.bank_account(id: bank_account_id),
    destination: bank_account_id,
    description: 'STRIPE TRANSFER',
    failure_message: nil,
    failure_code: nil,
    amount_reversed: 0,
    metadata: {},
    statement_descriptor: nil,
    recipient: nil,
    source_transaction: nil,
    application_fee: nil
  }.merge(params)
end
transfers(params={}) click to toggle source
# File lib/stripe_mock/data/transfers.rb, line 40
def self.transfers(params={})
  {
    object: 'list',
    url: '/v1/transfers',
    has_more: false,
    data: [transfer, transfer]
  }
end