Class: Multicard::Resources::Invoices

Inherits:
Base
  • Object
show all
Defined in:
lib/multicard/resources/invoices.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Multicard::Resources::Base

Instance Method Details

#cancel(invoice_id) ⇒ Response

Cancel an unpaid invoice.

Parameters:

  • invoice_id (String)

    invoice ID

Returns:



36
37
38
# File 'lib/multicard/resources/invoices.rb', line 36

def cancel(invoice_id)
  delete("/invoice/#{encode_path(invoice_id)}")
end

#create(amount:, invoice_id:, callback_url:, store_id: nil, **options) ⇒ Response

Create an invoice (hosted checkout page).

Parameters:

  • amount (Integer)

    amount in tiyin

  • invoice_id (String)

    your order ID

  • callback_url (String)

    webhook URL

  • store_id (Integer, nil) (defaults to: nil)

    register ID (falls back to config.store_id)

  • options (Hash)

    additional params (description, lifetime, return_url, etc.)

Returns:



14
15
16
17
18
19
20
21
22
# File 'lib/multicard/resources/invoices.rb', line 14

def create(amount:, invoice_id:, callback_url:, store_id: nil, **options)
  post('/payment/invoice', {
    amount: amount,
    store_id: store_id || default_store_id,
    invoice_id: invoice_id,
    callback_url: callback_url,
    **options
  }.compact)
end

#quick_pay(invoice_id:, service:) ⇒ Response

Generate a Quick Pay link (Payme, Click, Uzum QR, etc.).

Parameters:

  • invoice_id (String)

    invoice ID

  • service (String)

    payment service name

Returns:



45
46
47
48
49
50
# File 'lib/multicard/resources/invoices.rb', line 45

def quick_pay(invoice_id:, service:)
  post('/invoice/quick-pay', {
         invoice_id: invoice_id,
         service: service
       })
end

#retrieve(invoice_id) ⇒ Response

Retrieve invoice info.

Parameters:

  • invoice_id (String)

    invoice ID

Returns:



28
29
30
# File 'lib/multicard/resources/invoices.rb', line 28

def retrieve(invoice_id)
  get("/invoice/#{encode_path(invoice_id)}")
end