Business Rules to Code for Cash-in to Maya Wallet

Development Considerations

See Maya Partner Journey for the development activities you need to consider.


States of Cash-in to Maya Wallet

Transfer in Maya can have four (4) states: CREATED, PROCESSING, APPROVED, and DECLINED. You can start by creating intents to transfer and then execute after your validation.

StateDescription
CREATEDThe initial state of the transfer intent in Maya upon the successful call of the Initiate a Transfer
PROCESSINGTransfer intent in Maya will transition to this state upon triggering the Execute Transfer
APPROVEDThe transfer intent in Maya will be transitioned to this state when the funds are credited to the target Maya wallet
DECLINEDThe transfer intent will be transitioned to this state when the crediting of funds to Maya wallet has failed

Cash-in Validity

At present, there is no time restriction for executing a transfer intent after it has been created. However, if you choose not to proceed, you can discard the transferId and handle the customer management on your end.

NOTE: Change in this behavior may be imposed in the future.



Handling of ambiguous errors in Cash-in to Maya Wallet

Maya recommends calling the Retrieve a Transfer endpoint to validate the request status before proceeding with the next steps. This is required, but not limited to, the following scenarios:

  • No response from the Cash-in to Maya Wallet endpoints
  • Gateway errors, timeouts, or anything unparsable in the Cash-in to Maya Wallet endpoints

Validate the result of the Retrieve a Transfer:

Retrieve a Transfer ResultWhat to Do
If the Retrieve a Transfer response indicates that the transfer intent is in a PROCESSING state…Wait a few seconds and continue monitoring by calling again the Retrieve a Transfer endpoint until the transfer intent transitions to a final state—either APPROVED or DECLINED
If the Retrieve a Transfer response indicates that the transfer intent is in a CREATED state...Your application may retrigger the Execute Transfer by providing the transferId associated with the transfer for processing
If Retrieve a Transfer response indicates that the transfer intent is in the final state—either APPROVED or DECLINEDNotify the customer on the state of the transfer

See also Cash-in to Maya Wallet Errors for the list of errors and handling.


Rate Limiting of Cash-in to Maya Wallet

Maya applies rate limiting to its endpoints. We recommend implementing exponential back-off or incrementing delays between requests to Maya endpoints if you receive an HTTP 429 response.