When the same person or company is on both sides of a transfer, we call that a self-to-self transfer. Some examples of self-to-self transfers include:
A company transferring funds between accounts at two separate banks
A contractor moving money from their Moov wallet to their bank account
A platform adding funds from their bank account to their Moov wallet
In this guide, we’ll be covering the flow for creating a self-to-self transfer. We’ll use an example where you’re performing a transfer from your wallet to your bank account. For the purposes of this guide, we’ll assume that you’ve created a Moov account and gotten your API keys. For more detailed instructions, see our quick start guide.
Start by creating your Moov account. Request the send-funds capability for the account. You will need to submit specific data about the user to Moov for verification before the capability is enabled. See our capabilities guide for a list of required information.
First, get a list of the available payment methods from the generate transfer options POSTendpoint. Specify your account ID as both the source and the destination. You will get a list that includes all the payment methods you can use to make a self-to-self transfer. The payment method for the source of the transfer will be moov-wallet, while the payment method for the destination will be ach-credit-standard or ach-credit-same-day.
Once you’ve selected your payment methods, you can initiate a transfer from your bank account to your wallet, using the payment method IDs you got earlier in the transfer options request.
constmoov=newMoov(credentialsObject);consttransferPayload={source:{paymentMethodID:"source-payment-method-id",},destination:{paymentMethodID:"destination-payment-method-id",},amount:{value:100,currency:"USD"},description:"Wallet cash out from last pay period"}consttransfer=awaitmoov.transfers.create(transferPayload);