Module: NOWPayments::API::Custody
- Included in:
- Client
- Defined in:
- lib/nowpayments/api/custody.rb
Overview
Custody/sub-partner endpoints for managing customer accounts
Instance Method Summary collapse
-
#create_sub_account(user_id:) ⇒ Hash
Create a new sub-account (user account) POST /v1/sub-partner/balance.
-
#create_sub_account_deposit(user_id:, currency:, amount: nil) ⇒ Hash
Create deposit request for sub-account (external crypto deposit) POST /v1/sub-partner/deposit.
-
#create_sub_account_payment_deposit(sub_partner_id:, currency:, amount:, fixed_rate: nil) ⇒ Hash
Create payment deposit for sub-account POST /v1/sub-partner/payment.
-
#list_sub_accounts(id: nil, limit: 10, offset: 0, order: "ASC") ⇒ Hash
List sub-accounts with filters GET /v1/sub-partner.
-
#sub_account_balance(user_id) ⇒ Hash
Get balance for a specific sub-account GET /v1/sub-partner/balance/:user_id.
-
#sub_account_balances ⇒ Hash
Get balance for all sub-accounts GET /v1/sub-partner/balance.
-
#sub_account_transfer(transfer_id) ⇒ Hash
Get details of a specific transfer GET /v1/sub-partner/transfer.
-
#sub_account_transfers(id: nil, status: nil, limit: 10, offset: 0, order: "ASC") ⇒ Hash
Get list of all transfers GET /v1/sub-partner/transfers.
-
#transfer_between_sub_accounts(currency:, amount:, from_id:, to_id:) ⇒ Hash
Transfer between sub-accounts POST /v1/sub-partner/transfer.
-
#transfer_to_sub_account(user_id:, currency:, amount:) ⇒ Hash
Transfer funds from master account to sub-account POST /v1/sub-partner/deposit-from-master.
-
#withdraw_from_sub_account(user_id:, currency:, amount:) ⇒ Hash
Write-off (withdraw) funds from sub-account to master account POST /v1/sub-partner/write-off.
Instance Method Details
#create_sub_account(user_id:) ⇒ Hash
Create a new sub-account (user account) POST /v1/sub-partner/balance
11 12 13 |
# File 'lib/nowpayments/api/custody.rb', line 11 def create_sub_account(user_id:) post("sub-partner/balance", body: { Name: user_id }).body end |
#create_sub_account_deposit(user_id:, currency:, amount: nil) ⇒ Hash
Create deposit request for sub-account (external crypto deposit) POST /v1/sub-partner/deposit
66 67 68 69 70 71 72 73 74 |
# File 'lib/nowpayments/api/custody.rb', line 66 def create_sub_account_deposit(user_id:, currency:, amount: nil) params = { Name: user_id, currency: currency } params[:amount] = amount if amount post("sub-partner/deposit", body: params).body end |
#create_sub_account_payment_deposit(sub_partner_id:, currency:, amount:, fixed_rate: nil) ⇒ Hash
Create payment deposit for sub-account POST /v1/sub-partner/payment
83 84 85 86 87 88 89 90 91 92 |
# File 'lib/nowpayments/api/custody.rb', line 83 def create_sub_account_payment_deposit(sub_partner_id:, currency:, amount:, fixed_rate: nil) params = { sub_partner_id: sub_partner_id, currency: currency, amount: amount } params[:fixed_rate] = fixed_rate unless fixed_rate.nil? post("sub-partner/payment", body: params).body end |
#list_sub_accounts(id: nil, limit: 10, offset: 0, order: "ASC") ⇒ Hash
List sub-accounts with filters GET /v1/sub-partner
37 38 39 40 41 42 |
# File 'lib/nowpayments/api/custody.rb', line 37 def list_sub_accounts(id: nil, limit: 10, offset: 0, order: "ASC") params = { limit: limit, offset: offset, order: order } params[:id] = id if id get("sub-partner", params: params).body end |
#sub_account_balance(user_id) ⇒ Hash
Get balance for a specific sub-account GET /v1/sub-partner/balance/:user_id
19 20 21 |
# File 'lib/nowpayments/api/custody.rb', line 19 def sub_account_balance(user_id) get("sub-partner/balance/#{user_id}").body end |
#sub_account_balances ⇒ Hash
Get balance for all sub-accounts GET /v1/sub-partner/balance
26 27 28 |
# File 'lib/nowpayments/api/custody.rb', line 26 def sub_account_balances get("sub-partner/balance").body end |
#sub_account_transfer(transfer_id) ⇒ Hash
Get details of a specific transfer GET /v1/sub-partner/transfer
126 127 128 |
# File 'lib/nowpayments/api/custody.rb', line 126 def sub_account_transfer(transfer_id) get("sub-partner/transfer", params: { id: transfer_id }).body end |
#sub_account_transfers(id: nil, status: nil, limit: 10, offset: 0, order: "ASC") ⇒ Hash
Get list of all transfers GET /v1/sub-partner/transfers
138 139 140 141 142 143 144 |
# File 'lib/nowpayments/api/custody.rb', line 138 def sub_account_transfers(id: nil, status: nil, limit: 10, offset: 0, order: "ASC") params = { limit: limit, offset: offset, order: order } params[:id] = id if id params[:status] = status if status get("sub-partner/transfers", params: params).body end |
#transfer_between_sub_accounts(currency:, amount:, from_id:, to_id:) ⇒ Hash
Transfer between sub-accounts POST /v1/sub-partner/transfer
51 52 53 54 55 56 57 58 |
# File 'lib/nowpayments/api/custody.rb', line 51 def transfer_between_sub_accounts(currency:, amount:, from_id:, to_id:) post("sub-partner/transfer", body: { currency: currency, amount: amount, from_id: from_id, to_id: to_id }).body end |
#transfer_to_sub_account(user_id:, currency:, amount:) ⇒ Hash
Transfer funds from master account to sub-account POST /v1/sub-partner/deposit-from-master
100 101 102 103 104 105 106 |
# File 'lib/nowpayments/api/custody.rb', line 100 def transfer_to_sub_account(user_id:, currency:, amount:) post("sub-partner/deposit-from-master", body: { Name: user_id, currency: currency, amount: amount }).body end |
#withdraw_from_sub_account(user_id:, currency:, amount:) ⇒ Hash
Write-off (withdraw) funds from sub-account to master account POST /v1/sub-partner/write-off
114 115 116 117 118 119 120 |
# File 'lib/nowpayments/api/custody.rb', line 114 def withdraw_from_sub_account(user_id:, currency:, amount:) post("sub-partner/write-off", body: { Name: user_id, currency: currency, amount: amount }).body end |