v1

latestOpenAPI 3.1.02026-07-24416405768.8 KB
l) Wallet Withdrawals

Initiate a new withdrawal

Submits a withdrawal request for the wallet. The required fields depend on the withdrawal type.

post/eclipse-conductor/rest/v1/tenants/{tenantId}/wallets/{walletId}/withdrawals

Path parameters

tenantIdinteger required
walletIdinteger required

Request body

accountCurrencystring

Optional. Currency of the transaction in the destination bank account for cross currency withdrawals

accountNamestring

Account name to EFT to if applicable. For MFT this must be <firstname> <surname>

accountNumberstring

Account number to EFT or external walletid for ZM_MNO_WALLET if applicable, or crypto address

amountnumber required

The amount in the currency of the wallet. Amounts are in major currency unit

bankstring

Bank to EFT to if applicable

bankCountrystring

ISO 2 letter country code of the bank. E.g. UG

branchCodestring

Branch code to EFT to if applicable

callbackUrlstring

The URL Eclipse must post the EclipseWalletWithdrawal to when the withdrawal is finalised (either successful or error). Optional as one can always do a GET to get the result instead of using callbacks. This will be a system-system call

deliverToPhonestring

Phone number to SMS withdrawal details to. If not provided then the withdrawal token details will be returned in the API and count towards the limits of the customer owning the wallet

descriptionstring

Optional description to appear on the wallets withdrawal

expiresstring date-time

Withdrawal must complete by. If not in final state before this time, Eclipse will timeout the Withdrawal

externalUniqueIdstring required

Unique identifier for the withdrawal Duplicates are rejected to ensure double transactions are impossible

locationstring

Any location information about the transaction such as IP address or GPS

payshapIdstring

proxy payshap id.

referencestring

The reference the beneficiary will see on their statement

typestring required

The type of the withdrawal

Example request

{
  "expires": "2022-03-10T12:15:50-04:00"
}

Response

OK

amountnumber

Amount in the major currency unit e.g. 50.80 for 50 GBP and 80 pence

createdstring date-time

When the withdrawal was created

currencystring

Currency of the transaction. E.g. USD, ZAR, NGN etc

customerIdinteger
deliverToPhonestring
descriptionstring
errorDescriptionstring

This will only be populated if there was an error

expiresstring date-time

When the token expires if applicable

externalUniqueIdstring
extraInfostring

Extra information about the withdrawal. The structure of the data depends on the withdrawal gateway in use as its often the result in transaction data from the gateway

feenumber
finalAmountnumber
gatewaystring
gatewayTransactionIdstring

The transaction identifier for this withdrawal as provided by the gateway itself

holdUntilstring date-time
lastModifiedstring date-time

When the withdrawal last modified

locationstring

Any location information about the transaction such as IP address or GPS

organisationIdinteger
reasonstring
referencestring
status'BUILDING' | 'CANCELLED' | 'ERROR' | 'HOLD' | 'PENDING' | 'REVERSED' | 'SUCCESSFUL' | 'TIMEOUT'

Status of a withdrawal. PENDING:Still being processed, SUCCESSFUL: Successfully completed, ERROR:Failed and wont ever succeed, TIMEOUT:Failed as the process was not finalised in time, CANCELLED:Cancelled prior to SUCCESS or FAILURE, REVERSED:Reversed after success

subTypestring
tokenstring

The token in case the withdrawal is via a token/identifier given at time of withdrawing and no delivery phone number was provided

tracingContextstring

Tracing data about the withdrawal

typestring
walletIdinteger
withdrawalIdinteger

Example response

{
  "created": "2022-03-10T12:15:50-04:00",
  "expires": "2022-03-10T12:15:50-04:00",
  "holdUntil": "2022-03-10T12:15:50-04:00",
  "lastModified": "2022-03-10T12:15:50-04:00"
}