Sha256: b58351d9acf7a0981b37f14683b328577ba60e95b8cd02ad0aedbe7a8ca96f63
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true module LedgerSync module Stripe class Customer module Operations class Create < Stripe::Operation::Create class Contract < LedgerSync::Ledgers::Contract params do required(:external_id).maybe(:string) required(:ledger_id).value(:nil) required(:email).maybe(:string) required(:name).filled(:string) required(:phone_number).maybe(:string) end end private def operate stripe_customer = ::Stripe::Customer.create( email: resource.email, metadata: { external_id: resource.external_id }, name: resource.name, phone: resource.phone_number ) resource.ledger_id = stripe_customer.id success( resource: resource, response: stripe_customer ) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ledger_sync-stripe-0.1.0 | lib/ledger_sync/stripe/customer/operations/create.rb |