Class: Peddler::APIs::SellerWallet20240301

Inherits:
Peddler::API show all
Defined in:
lib/peddler/apis/seller_wallet_2024_03_01.rb,
lib/peddler/apis/seller_wallet_2024_03_01/fee.rb,
lib/peddler/apis/seller_wallet_2024_03_01/error.rb,
lib/peddler/apis/seller_wallet_2024_03_01/balance.rb,
lib/peddler/apis/seller_wallet_2024_03_01/error_list.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transaction.rb,
lib/peddler/apis/seller_wallet_2024_03_01/bank_account.rb,
lib/peddler/apis/seller_wallet_2024_03_01/balance_listing.rb,
lib/peddler/apis/seller_wallet_2024_03_01/fx_rate_details.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule.rb,
lib/peddler/apis/seller_wallet_2024_03_01/payment_preference.rb,
lib/peddler/apis/seller_wallet_2024_03_01/schedule_expression.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transaction_account.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transaction_listing.rb,
lib/peddler/apis/seller_wallet_2024_03_01/bank_account_listing.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transfer_rate_preview.rb,
lib/peddler/apis/seller_wallet_2024_03_01/account_holder_address.rb,
lib/peddler/apis/seller_wallet_2024_03_01/delete_transfer_schedule.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_listing.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_request.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_failures.rb,
lib/peddler/apis/seller_wallet_2024_03_01/create_transaction_response.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_information.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transaction_initiation_request.rb,
lib/peddler/apis/seller_wallet_2024_03_01/transaction_instrument_details.rb

Overview

The Selling Partner API for Amazon Seller Wallet Open Banking API Spec.

For more information, refer to the Seller Wallet Open Banking API Use Case Guide.

The Selling Partner API for Seller Wallet (Seller Wallet API) provides financial information that is relevant to a seller's Seller Wallet account. You can obtain financial events, balances, and transfer schedules for Seller Wallet accounts. You can also schedule and initiate transactions.

Constant Summary collapse

Fee =

If the fees is in baseAmount (sourceAccount) currency, effectiveRate = (baseAmount - sum(fees.feeAmount.currencyAmount)) * baseRate) / baseAmount. If the fees is in transferAmount (destinationAccount) currency, effectiveRate = (( baseAmount * baseRate ) - sum(fees.feeAmount.currencyAmount )) / baseAmount

Structure.new do
  # @return [Money] Displays actual value of the fee in numeric format.
  attribute(:fee_amount, Money, from: "feeAmount")

  # @return [String] Unique identifier assigned to the Fee.
  attribute(:fee_id, String, from: "feeId")

  # @return [String] The value of the fee in percentage format.
  attribute(:fee_rate_value, String, from: "feeRateValue")

  # @return [String] Displays type of the Fee.
  attribute(:fee_type, String, from: "feeType")
end
Error =

Error response returned when the request is unsuccessful.

Structure.new do
  # @return [String] An error code that identifies the type of error that occurred.
  attribute(:code, String)

  # @return [String] A message that describes the error condition.
  attribute(:message, String)

  # @return [String] Additional details that can help the caller understand or fix the issue.
  attribute?(:details, String)
end
Balance =

Specifies the balance amount in the Amazon SW bank account

Structure.new do
  # @return [String] The unique identifier provided by Amazon to identify the account
  attribute(:account_id, String, from: "accountId")

  # @return [Float] The balance amount in number format
  attribute(:balance_amount, Float, from: "balanceAmount")

  # @return [String] The Amazon SW bank account currency code in ISO 4217 format
  attribute(:balance_currency, String, from: "balanceCurrency")

  # @return [Time] The last update date on the account balance
  attribute(:last_update_date, Time, from: "lastUpdateDate")

  # @return [String] Type of the balance
  attribute?(:balance_type, String, from: "balanceType")
end
ErrorList =

A list of error responses returned when a request is unsuccessful.

Structure.new do
  # @return [Array<Error>] List of errors
  attribute(:errors, [Error])
end
Transaction =

The current transaction status and related historical details.

Structure.new do
  # @return [Time] The last update date on the transaction
  attribute(:last_update_date, Time, from: "lastUpdateDate")

  # @return [String] A description of the transaction that the requester provides when they initiate the
  # transaction.
  attribute(:transaction_description, String, from: "transactionDescription")

  # @return [TransactionAccount] Destination bank account details in the transaction
  attribute(:transaction_destination_account, TransactionAccount, from: "transactionDestinationAccount")

  # @return [String] The unique identifier provided by Amazon to the transaction
  attribute(:transaction_id, String, from: "transactionId")

  # @return [Money] Specifies the amount for which the transfer was initiated
  attribute(:transaction_request_amount, Money, from: "transactionRequestAmount")

  # @return [Time] The date when the transaction was initiated.
  attribute(:transaction_request_date, Time, from: "transactionRequestDate")

  # @return [String] The transaction initiation source. This value is either the Amazon portal or PISP name that
  # the customer used to start the transaction.
  attribute(:transaction_requester_source, String, from: "transactionRequesterSource")

  # @return [TransactionAccount] Source bank account details in the transaction
  attribute(:transaction_source_account, TransactionAccount, from: "transactionSourceAccount")

  # @return [String] Execution Status of the transaction
  attribute(:transaction_status, String, from: "transactionStatus")

  # @return [String] Type of the transaction
  attribute(:transaction_type, String, from: "transactionType")

  # @return [TransferRatePreview] The fees and rates that apply to the transaction, as applicable.
  attribute(:transfer_rate_details, TransferRatePreview, from: "transferRateDetails")

  # @return [Time] Expected completion date of a transaction, for existing active Payees (Trusted Beneficiaries)
  # it will be 24 hours but for new destination bank accounts the value could go up to 5 days
  attribute?(:expected_completion_date, Time, from: "expectedCompletionDate")

  # @return [String] Amazon SW customer who requested the transaction
  attribute?(:requester_name, String, from: "requesterName")

  # @return [Time] Transaction completion date
  attribute?(:transaction_actual_completion_date, Time, from: "transactionActualCompletionDate")

  # @return [String] Description in case the transaction fails before completion
  attribute?(:transaction_failure_reason, String, from: "transactionFailureReason")

  # @return [Money] Specifies the amount of completed transaction in the destination account currency, this will
  # be populated only for international transactions
  attribute?(:transaction_final_amount, Money, from: "transactionFinalAmount")
end
BankAccount =

Details of an Amazon SW bank account, used to hold money earned by a SW customer by selling items. NOTE: Not including account_links, short cut links to the account balance and transactions -> since not mandatory

Structure.new do
  # @return [String] The two digit country code, in ISO 3166 format.
  attribute(:account_country_code, String, from: "accountCountryCode")

  # @return [String] BankAccount currency code in ISO 4217 format
  attribute(:account_currency, String, from: "accountCurrency")

  # @return [String] Format in which the Bank BankAccount is provided
  attribute(:bank_account_number_format, String, from: "bankAccountNumberFormat")

  # @return [String] Last 3 digit of the bank account number, for all Amazon Seller Wallet account the value will
  # be three consecutive 0's
  attribute(:bank_account_number_tail, String, from: "bankAccountNumberTail")

  # @return [String] Type of the Bank BankAccount is provided, for all Amazon Seller Wallet account the value will
  # be SELF
  attribute(:bank_account_ownership_type, String, from: "bankAccountOwnershipType")

  # @return [String] Bank account number format or routing number type.
  attribute(:bank_number_format, String, from: "bankNumberFormat")

  # @return [String] Routing number for automated clearing house transfers, for all Amazon Seller Wallet account
  # the value will be denoted by nine cosecutive 0's,
  attribute(:routing_number, String, from: "routingNumber")

  # @return [String] BankAccount holder's name (expected to be Amazon customer)
  attribute?(:account_holder_name, String, from: "accountHolderName")

  # @return [String] The unique identifier provided by Amazon to identify the account
  attribute?(:account_id, String, from: "accountId")

  # @return [String] Bank account holder compliance status
  attribute?(:bank_account_holder_status, String, from: "bankAccountHolderStatus")

  # @return [String] The name of the bank, for all Amazon Seller Wallet account the value will be Amazon Seller
  # Wallet
  attribute?(:bank_name, String, from: "bankName")
end
BalanceListing =

Struct that holds list of balances on the seller account.

Structure.new do
  # @return [Array<Balance>] Collection that holds list of balances on the account
  attribute?(:balances, [Balance])
end
FxRateDetails =

Foreign exchange rate details displayed when transfer preview is requested.

Structure.new do
  # @return [Float] This is the rate that will be market foreign exchange rate. For example: 1USD -> 86.0 INR.
  attribute(:base_rate, Float, from: "baseRate")

  # @return [Float] Displays the foreign exchange rate which will be all rates and fees baked in (i.e; markup
  # fees), example: market fx rate and international transaction fee.
  attribute(:effective_fx_rate, Float, from: "effectiveFxRate")

  # @return [String] Unique identifier assigned to the fees/foreign exchange Rate of a transaction.
  attribute(:fx_rate_id, String, from: "fxRateId")

  # @return [String] Rate Direction can refer to the way final amount is calculated.
  attribute(:rate_direction, String, from: "rateDirection")
end
TransferSchedule =

Transfer schedule details and related historical details.

Structure.new do
  # @return [TransactionAccount] Destination bank account details in the scheduled transfer. Here
  # bankAccountCountryCode is a MANDATORY field
  attribute(:transaction_destination_account, TransactionAccount, from: "transactionDestinationAccount")

  # @return [String] Type of the transfer
  attribute(:transaction_type, String, from: "transactionType")

  # @return [Array<TransferScheduleFailures>] Collection that holds Transfer Schedules that has been cancelled or
  # failed due to certain reasons.
  attribute(:transfer_schedule_failures, [TransferScheduleFailures], from: "transferScheduleFailures")

  # @return [String] The unique identifier provided by Amazon to the scheduled transfer
  attribute(:transfer_schedule_id, String, from: "transferScheduleId")

  # @return [TransferScheduleInformation] Fields required for the scheduled transfer. This information can be
  # modified when updating a transfer schedule.
  attribute(:transfer_schedule_information, TransferScheduleInformation, from: "transferScheduleInformation")

  # @return [String] Type of the transfer schedule. This information can be modified when updating a transfer
  # schedule.
  attribute(:transfer_schedule_status, String, from: "transferScheduleStatus")

  # @return [PaymentPreference] Payment preference of the scheduled transfer. This information can be modified
  # when updating a transfer schedule.
  attribute?(:payment_preference, PaymentPreference, from: "paymentPreference")

  # @return [TransactionAccount] Source bank account details in the scheduled transfer
  attribute?(:transaction_source_account, TransactionAccount, from: "transactionSourceAccount")
end
PaymentPreference =

Payment preference type in which transfer is being scheduled

Structure.new do
  # @return [String] Specifies the preferred payment type for the scheduled transaction eg:PERCENTAGE of certain
  # total amount in account
  attribute(:payment_preference_payment_type, String, from: "paymentPreferencePaymentType")

  # @return [Float] The value of the payment preference.
  attribute(:value, Float)
end
ScheduleExpression =

Parameters containing information of the expression that defines when the schedule runs. The following formats are supported.

Structure.new do
  # @return [String] Field to specify type of the scheduled transfer
  attribute(:schedule_expression_type, String, from: "scheduleExpressionType")

  # @return [String] Field to specify recurrence of the scheduled transfer. Recurring frequency is mandatory if
  # scheduleExpressionType is set as RECURRING otherwise it should be empty field.
  attribute?(:recurring_frequency, String, from: "recurringFrequency")
end
TransactionAccount =

Details of the bank account involved in the transaction.

Structure.new do
  # @return [String] The currency code in ISO 4217 format
  attribute(:bank_account_currency, String, from: "bankAccountCurrency")

  # @return [String] Bank account format
  attribute(:bank_account_number_format, String, from: "bankAccountNumberFormat")

  # @return [String] The name of the bank
  attribute(:bank_name, String, from: "bankName")

  # @return [String] The unique identifier provided by Amazon to identify the account
  attribute?(:account_id, String, from: "accountId")

  # @return [String] The two digit country code, in ISO 3166 format. This field is OPTIONAL for
  # transactionSourceAccount object but is MANDATORY field for transactionDestinationAccount
  attribute?(:bank_account_country_code, String, from: "bankAccountCountryCode")

  # @return [String] BankAccount holder's name
  attribute?(:bank_account_holder_name, String, from: "bankAccountHolderName")

  # @return [String] Last 3 digit of the bank account number
  attribute?(:bank_account_number_tail, String, from: "bankAccountNumberTail")
end
TransactionListing =

Struct that holds collection of transactions.

Structure.new do
  # @return [Array<Transaction>] Collection that holds Transaction
  attribute(:transactions, [Transaction])

  # @return [String] If present, use this pagination token to retrieve the next page of supply sources, if not
  # provided the API will return same response. The field will only be provided when the list is greater than 100.
  attribute?(:next_page_token, String, from: "nextPageToken")
end
BankAccountListing =

Struct that holds collection of accounts.

Structure.new do
  # @return [Array<BankAccount>] Collection that holds BankAccount
  attribute(:accounts, [BankAccount])
end
TransferRatePreview =

The fees and foreign exchange rates that apply to the transaction.

If the fees are in terms of the baseAmount (source account) currency, then the effective rate is equal to **1

  • (fees * baseRate / baseAmount)**.

If the fees are in terms of the transferAmount (destination account) currency, then the effective rate is equal to baseRate - (fees / baseAmount).

In the preceding expressions, fees is equal to the sum of all feeAmount.currencyAmount values in the fees array.

Structure.new do
  # @return [Money] Base amount of the transaction.
  attribute(:base_amount, Money, from: "baseAmount")

  # @return [Array<Fee>] List of fees
  attribute(:fees, [Fee])

  # @return [FxRateDetails] The foreign exchange rate value of the transaction.
  attribute(:fx_rate_details, FxRateDetails, from: "fxRateDetails")

  # @return [Money] The final amount reflects both the fee deduction and currency conversion rate exchange
  attribute(:transfer_amount, Money, from: "transferAmount")
end
AccountHolderAddress =

Address for bank account verification of the Payee. For example, this can be a person or business mailing address

Structure.new do
  # @return [String] Address Line 1 of the public address
  attribute(:address_line1, String, from: "addressLine1")

  # @return [String] City name of the public address
  attribute(:city, String)

  # @return [String] The two digit country code, in ISO 3166 format.
  attribute(:country_code, String, from: "countryCode")

  # @return [String] Postal code of the public address
  attribute(:postal_code, String, from: "postalCode")

  # @return [String] State name of the public address. This is the state or region for China-based addresses.
  attribute(:state, String)

  # @return [String] Address Line 2 of the public address
  attribute?(:address_line2, String, from: "addressLine2")

  # @return [String] Country name of the public address
  attribute?(:country, String)
end
DeleteTransferSchedule =

Response returned when the schedule transfer's delete request is successful.

Structure.new do
  # @return [String] A success code that specifies the delete operation was successful. eg:HTTP 200.
  attribute(:code, String)

  # @return [String] A message that describes the success condition of the delete schedule transaction.
  attribute(:message, String)

  # @return [String] Additional details that can help the caller understand the operation execution.
  attribute?(:details, String)
end
TransferScheduleListing =

Struct that holds collection of transfer schedules.

Structure.new do
  # @return [Array<TransferSchedule>] Collection that holds list of Transfer Schedules
  attribute(:transfer_schedules, [TransferSchedule], from: "transferSchedules")

  # @return [String] If present, use this pagination token to retrieve the next page of supply sources, if not
  # provided the API will return same response. The field will only be provided when the list is greater than 100.
  attribute?(:next_page_token, String, from: "nextPageToken")
end
TransferScheduleRequest =

Request body to initiate a scheduled transfer from a SW bank account to another customer defined bank account

Structure.new do
  # @return [String] Optional field to specify the unique identifier of the destination bank account where the
  # money needs to be deposited
  attribute(:destination_account_id, String, from: "destinationAccountId")

  # @return [TransactionInstrumentDetails] Destination bank account details of the transaction request
  attribute(:destination_transaction_instrument, TransactionInstrumentDetails, from: "destinationTransactionInstrument")

  # @return [PaymentPreference] Payment preference of the scheduled transfer
  attribute(:payment_preference, PaymentPreference, from: "paymentPreference")

  # @return [String] The unique identifier of the source Amazon SW bank account from where the money needs to be
  # debited
  attribute(:source_account_id, String, from: "sourceAccountId")

  # @return [String] Represents 3 letter currency code in ISO 4217 standard format of the source payment method
  # country
  attribute(:source_currency_code, String, from: "sourceCurrencyCode")

  # @return [String] Type of the scheduled transaction
  attribute(:transaction_type, String, from: "transactionType")

  # @return [TransferScheduleInformation] Fields required for the scheduled transfer
  attribute(:transfer_schedule_information, TransferScheduleInformation, from: "transferScheduleInformation")

  # @return [String] Type of the transaction schedule which is mandatory field in request body if a transfer
  # schedule needs to be updated
  attribute?(:transfer_schedule_status, String, from: "transferScheduleStatus")
end
TransferScheduleFailures =

Specifies the balance amount in the Amazon SW bank account

Structure.new do
  # @return [Time] The transfer schedule cancellation date
  attribute(:transfer_schedule_failure_date, Time, from: "transferScheduleFailureDate")

  # @return [String] The statement/reasoning listed for the cancellation of the transfer schedule
  attribute(:transfer_schedule_failure_reason, String, from: "transferScheduleFailureReason")
end
CreateTransactionResponse =

The transaction response and historical details related to it.

Structure.new do
  # @return [String] The callback URL for the transaction which the user have to click to approve/consent the
  # transaction
  attribute(:call_back_url, String, from: "callBackURL")

  # @return [Transaction] The transaction response details.
  attribute(:transaction, Transaction)
end
TransferScheduleInformation =

Parameters containing information required for initiating a schedule transfer

Structure.new do
  # @return [Time] Field to specify end date of the scheduled transfer
  attribute?(:schedule_end_date, Time, from: "scheduleEndDate")

  # @return [ScheduleExpression] Field to specify expression for how often the schedule transfer repeats. Refer to
  # this documentation: https://docs.aws.amazon.com/scheduler/latest/APIReference/API_CreateSchedule.html
  attribute?(:schedule_expression, ScheduleExpression, from: "scheduleExpression")

  # @return [Time] Field to specify start date of the scheduled transfer
  attribute?(:schedule_start_date, Time, from: "scheduleStartDate")

  # @return [String] Field to specify type of the transfer being scheduled
  attribute?(:schedule_type, String, from: "scheduleType")
end
TransactionInitiationRequest =

Request body to initiate a transaction from a SW bank account to another customer defined bank account

Structure.new do
  # @return [TransactionInstrumentDetails] Destination bank account details of the transaction request
  attribute(:destination_transaction_instrument, TransactionInstrumentDetails, from: "destinationTransactionInstrument")

  # @return [Time] The transaction initiation request time in date-time format
  attribute(:request_time, Time, from: "requestTime")

  # @return [String] The unique identifier of the source Amazon SW bank account from where the money needs to be
  # debited
  attribute(:source_account_id, String, from: "sourceAccountId")

  # @return [Money] The transaction amount in the source account's currency format. Requests that use a currency
  # other than the source bank account currency fail.
  attribute(:source_amount, Money, from: "sourceAmount")

  # @return [String] If the payment is for VAT (Value-Added-Tax) then enter VAT identification number in this
  # field which will be mandatory. The length constraint is 140 characters and do not allow user to enter any
  # sensitive information other than VAT-ID.
  attribute?(:customer_payment_reference, String, from: "customerPaymentReference")

  # @return [AccountHolderAddress] Destination bank account details of the transaction request
  attribute?(:destination_account_holder_address, AccountHolderAddress, from: "destinationAccountHolderAddress")

  # @return [String] Optional field to specify the unique identifier of the destination bank account where the
  # money needs to be deposited
  attribute?(:destination_account_id, String, from: "destinationAccountId")

  # @return [String] A description of the transaction.
  attribute?(:transaction_description, String, from: "transactionDescription")

  # @return [TransferRatePreview] The fees and foreign exchange rates that apply to the transaction. Transfer Rate
  # Preview is currently optional. This field is required when the third party honors the fees and rates of the
  # Seller Wallet transaction.
  attribute?(:transfer_rate_details, TransferRatePreview, from: "transferRateDetails")
end
TransactionInstrumentDetails =

Request body to create transaction instrument, Amazon performs validation and screening (anti-money laundering measuers) on all the transaction instruments before executing a transaction thus it requires transaction instrument holder's contact details as well

Structure.new do
  # @return [String] The bank account holder's name (expected to be an Amazon customer).
  #
  # **Note:** This field is encrypted before Amazon receives it, so should not be used to generate
  # `destAccountDigitalSignature`, and should not be included in the request signature.
  attribute(:account_holder_name, String, from: "accountHolderName")

  # @return [BankAccount] Specifies the destination bank account details where the money needs to be deposited
  attribute(:bank_account, BankAccount, from: "bankAccount")

  # @return [String] This field would be used to populate the bank account number of the destination payment
  # method. The field is intentionally not included in any other Schemas since Amazon internal systems will never
  # receive it in unencrypted format, so field won't be part of the request signature
  attribute(:bank_account_number, String, from: "bankAccountNumber")
end

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint, #retries

Instance Method Summary collapse

Methods inherited from Peddler::API

#endpoint_uri, #http, #initialize, #meter, #retriable, #sandbox, #sandbox?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#create_transaction(body, dest_account_digital_signature, amount_digital_signature, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Create a transaction request from a Seller Wallet account to another customer-provided account.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • body (Hash)

    Defines the actual payload of the request

  • dest_account_digital_signature (String)

    Digital signature for the destination bank account details.

  • amount_digital_signature (String)

    Digital signature for the source currency transaction amount.

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



128
129
130
131
132
133
134
135
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 128

def create_transaction(body, , amount_digital_signature, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/transactions"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { CreateTransactionResponse }
  post(path, body:, params:, parser:)
end

#create_transfer_schedule(body, dest_account_digital_signature, amount_digital_signature, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Create a transfer schedule request from a Seller Wallet account to another customer-provided account.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • body (Hash)

    Defines the actual payload of the request

  • dest_account_digital_signature (String)

    Digital signature for the destination bank account details.

  • amount_digital_signature (String)

    Digital signature for the source currency transaction amount.

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



184
185
186
187
188
189
190
191
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 184

def create_transfer_schedule(body, , amount_digital_signature, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/transferSchedules"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { TransferSchedule }
  post(path, body:, params:, parser:)
end

#delete_schedule_transaction(transfer_schedule_id, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Delete a transaction request that is scheduled from Amazon Seller Wallet account to another customer-provided account.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • transfer_schedule_id (String)

    A unique reference ID for a scheduled transfer.

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



238
239
240
241
242
243
244
245
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 238

def delete_schedule_transaction(transfer_schedule_id, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/transferSchedules/#{percent_encode(transfer_schedule_id)}"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { DeleteTransferSchedule }
  delete(path, params:, parser:)
end

#get_account(account_id, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieve a Seller Wallet bank account by Amazon account identifier.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • account_id (String)

    ID of the Amazon SW account

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



40
41
42
43
44
45
46
47
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 40

def (, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/accounts/#{percent_encode()}"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { BankAccount }
  get(path, params:, parser:)
end

#get_transaction(transaction_id, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns a transaction

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • transaction_id (String)

    ID of the Amazon SW transaction

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



145
146
147
148
149
150
151
152
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 145

def get_transaction(transaction_id, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/transactions/#{percent_encode(transaction_id)}"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { Transaction }
  get(path, params:, parser:)
end

#get_transfer_preview(source_country_code, source_currency_code, destination_country_code, destination_currency_code, base_amount, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns list of potential fees on a transaction based on the source and destination country currency code

3166 standard format. transaction country. in ISO 3166 standard format. destination transaction country. used to get the transfer preview. unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • source_country_code (String)

    Represents 2 character country code of source transaction account in ISO

  • source_currency_code (String)

    Represents 3 letter currency code in ISO 4217 standard format of the source

  • destination_country_code (String)

    Represents 2 character country code of destination transaction account

  • destination_currency_code (String)

    Represents 3 letter currency code in ISO 4217 standard format of the

  • base_amount (Number)

    Represents the base transaction amount without any markup fees, rates that will be

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 83

def get_transfer_preview(source_country_code, source_currency_code, destination_country_code,
  destination_currency_code, base_amount, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/transferPreview"
  params = {
    "sourceCountryCode" => source_country_code,
    "sourceCurrencyCode" => source_currency_code,
    "destinationCountryCode" => destination_country_code,
    "destinationCurrencyCode" => destination_currency_code,
    "baseAmount" => base_amount,
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { TransferRatePreview }
  get(path, params:, parser:)
end

#get_transfer_schedule(transfer_schedule_id, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Find a particular Amazon Seller Wallet account transfer schedule.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • transfer_schedule_id (String)

    The schedule ID of the Amazon Seller Wallet transfer.

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



220
221
222
223
224
225
226
227
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 220

def get_transfer_schedule(transfer_schedule_id, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/transferSchedules/#{percent_encode(transfer_schedule_id)}"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { TransferSchedule }
  get(path, params:, parser:)
end

#list_account_balances(account_id, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieve the balance in a given Seller Wallet bank account.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • account_id (String)

    ID of the Amazon SW account

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



57
58
59
60
61
62
63
64
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 57

def (, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/accounts/#{percent_encode()}/balance"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { BalanceListing }
  get(path, params:, parser:)
end

#list_account_transactions(account_id, marketplace_id, next_page_token: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieve a list of transactions for a given Seller Wallet bank account.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • account_id (String)

    ID of the Amazon SW account

  • next_page_token (String) (defaults to: nil)

    Pagination token to retrieve a specific page of results.

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



107
108
109
110
111
112
113
114
115
116
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 107

def (, marketplace_id, next_page_token: nil)
  path = "/finances/transfers/wallet/2024-03-01/transactions"
  params = {
    "accountId" => ,
    "nextPageToken" => next_page_token,
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { TransactionListing }
  get(path, params:, parser:)
end

#list_accounts(marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Get Seller Wallet accounts for a seller.

Parameters:

  • marketplace_id (String)

    A marketplace identifier. Specifies the marketplace for which items are returned.

Returns:



23
24
25
26
27
28
29
30
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 23

def list_accounts(marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/accounts"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { BankAccountListing }
  get(path, params:, parser:)
end

#list_transfer_schedules(account_id, marketplace_id, next_page_token: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieve transfer schedules of a Seller Wallet bank account.

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • account_id (String)

    ID of the Amazon SW account

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

  • next_page_token (String) (defaults to: nil)

    Pagination token to retrieve a specific page of results.

Returns:



163
164
165
166
167
168
169
170
171
172
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 163

def list_transfer_schedules(, marketplace_id, next_page_token: nil)
  path = "/finances/transfers/wallet/2024-03-01/transferSchedules"
  params = {
    "accountId" => ,
    "marketplaceId" => marketplace_id,
    "nextPageToken" => next_page_token,
  }.compact
  parser = -> { TransferScheduleListing }
  get(path, params:, parser:)
end

#update_transfer_schedule(body, dest_account_digital_signature, amount_digital_signature, marketplace_id) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns a transfer belonging to the updated scheduled transfer request

unique identifier of a marketplace. To find the ID for your marketplace, refer to Marketplace IDs.

Parameters:

  • body (Hash)

    Defines the actual payload of the scheduled transfer request that is to be updated.

  • dest_account_digital_signature (String)

    Digital signature for the destination bank account details.

  • amount_digital_signature (String)

    Digital signature for the source currency transaction amount.

  • marketplace_id (String)

    The marketplace for which items are returned. The marketplace ID is the globally

Returns:



203
204
205
206
207
208
209
210
# File 'lib/peddler/apis/seller_wallet_2024_03_01.rb', line 203

def update_transfer_schedule(body, , amount_digital_signature, marketplace_id)
  path = "/finances/transfers/wallet/2024-03-01/transferSchedules"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { TransferSchedule }
  put(path, body:, params:, parser:)
end