Marqeta Integration
  • 24 Nov 2023
  • 5 Minutes To Read
  • Dark
    Light
  • PDF

Marqeta Integration

  • Dark
    Light
  • PDF

Article Summary

Early Access Feature
If you would like to request early access to this feature, please get in touch with your Mambu Customer Success Manager to discuss your requirements. For more information, see Mambu Release Cycle - Feature Release Status.

We partner with Marqeta to provide card issuing and processing services. Marqeta is a card issuing platform providing an Open API. The Marqueta integration is for Mambu customers who want to offer debit cards to their clients. Using the Marqeta integration means you do not need to build out your own gateways or deal with messaging standards such as ISO 8583.

Marqeta is live across North America, Australia, and Europe and integrated with the Visa, Mastercard, and Discover networks - allowing you or your clients to make the best choice of a card product. For more information about Marqeta see Mambu Marketplace or the Marqeta website.

The Mambu-Marqeta integration is used to process payment card authorization requests and accept payment card clearing transactions and reversal instructions sent by Marqeta. The integration supports funding card transactions via Marqeta’s Just-in-Time (JIT) Funding solution. You can manage card authorization via the Marqeta JIT Funding gateway. When a transaction is initiated, funds are moved from a funding account to the card account and the transaction is then settled, following a successful authorization via the JIT gateway. This setup supports use cases with multiple combinations of authorization and settlement business flows.

Prerequisites

Before working with cards, make sure you have your Mambu environment set up. There may be additional setup to be done in Marqeta if you intend to use their simulation APIs for testing purposes.

Architecture

The Mambu-Marqeta integration is built around the Marqeta JIT Funding concept, which can be described as a method of automatically funding an account in real-time during the transaction process. Through the Gateway JIT Funding approach, the Marqeta platform applies spend controls to make authorization decisions and forwards funding requests to the bank’s core system, through the gateway, so that funding decisions can be made. Mambu receives these funding requests and approves or denies them using the core system’s backend business rules.

The Marqeta platform exchanges the following types of messages with Mambu:

  • JIT Funding requests: Actionable messages for authorization requests sent by Marqeta to create a hold for the requested amount, check payment card account, or get the account balance. Mambu responds promptly to these requests.
  • JIT Funding responses: Sent by Mambu to the Marqeta platform in response to an actionable message to approve or deny an authorization request.
  • JIT Funding notifications: Transaction event messages sent by the Marqeta platform to Mambu's JIT Informative Notifications endpoint. These asynchronous messages contain the entire transaction and information about its final outcome. These batches are to be stored and then processed asynchronously.
  • JIT Funding notification responses: Sent by the JIT Informative Notifications endpoint after a batch of transactions has been validated for the presence of all required parameters.

Communication is done using the following endpoints.

Gateway endpoint

This endpoint is designed to receive and respond to actionable requests. To approve a request, a 200 OK status code is sent and the jit_funding object is included as the response body. To deny a request, a 402 Payment Required status code is sent and the jit_funding object is included as the response body with a reason for declining.

Informative notifications endpoint

To handle Informative JIT Funding messages, Mambu uses an endpoint for receiving event notifications. Shortly after each transaction, the Marqeta platform sends webhook notifications to this endpoint to enable tracking of requests, maintaining account balances, and resolving timeout issues.

Mambu validates the presence of mandatory parameters for clearing messages and responds to each JIT Informative request through a dedicated API Gateway with a 200 OK status code if the validation of the batch of transactions has passed. Otherwise, it sends back a 402 Payment Required status code, at which point Marqeta will resend the events.

JIT actionable requests

The following JIT actionable requests are supported:

Transaction typeMethodPurpose
authorizationpgfs.authorizationTo create a new reservation for the requested amount, if it is available on the card account.
authorization.atm.withdrawal
authorization.cashback
authorization.quasi.cash
pindebit.authorization
account.funding.authorization
authorization.incrementalpgfs.authorization.incrementalTo increase a reservation with the requested amount, if it is available on the card account.
original.credit.authorizationpgfs.original.credit.authorization
Conventional Funds
To check a payment card and approve the credit authorization.
refund.authorizationpgfs.refund.authorization
balanceinquirypgfs.balanceinquiryTo return account balances.
pindebit.balanceinquiry
pindebitpgfs.auth_plus_captureTo debit card account with the requested amount, if it is available on the card account.
pindebit.atm.withdrawal
pindebit.cashback
original.credit.auth_plus_capturepgfs.original.credit.auth_plus_captureTo credit card account with the requested amount.
original.credit.authorizationpgfs.original.credit.authorization
Fast Funds

JIT informative notifications

The following JIT informative notifications are supported:

Transaction typeMethodStatePurpose
authorization.clearingpgfs.authorization.capture
pgfs.force_capture
COMPLETIONTo debit a card account and remove or reduce the debit hold if it is present.
authorization.clearing.atm.withdrawal
authorization.clearing.cashback
authorization.clearing.quasi.cash
pindebit.authorization.clearing
account.funding.authorization.clearing
original.credit.authorization.clearingpgfs.original.credit.authorization.clearing
Conventional Funds
COMPLETIONTo credit a card account and remove the credit hold if it is present.
refund.authorization.clearingpgfs.refund.authorization.clearing
refundpgfs.refund
pindebit.refundPENDING
original.credit.authorization.clearingpgfs.original.credit.authorization.clearing
Fast Funds
COMPLETIONTo credit a card account.
authorization.advicepgfs.reversalPENDINGTo reduce or remove the debit hold.
authorization.reversalCLEARED
authorization.reversal.issuerexpiration
pindebit.authorization.reversal.issuerexpirationpgfs.authorization.reversal
account.funding.authorization.reversal
authorization.standinpgfs.authorization.standinPENDINGTo create a hold without checking the available balance.
original.credit.authorization.reversalpgfs.original.credit.authorization.reversal
Conventional Funds
CLEAREDTo remove the credit hold.
refund.authorization.reversalpgfs.refund.authorization.reversal
original.credit.authorization.reversalpgfs.original.credit.authorization.reversal
Fast Funds
CLEAREDTo debit a payment card account, if a credit transaction has been executed.
authorizationpgfs.authorizationDECLINED / CLEAREDTo remove the debit hold.
authorization.atm.withdrawal
authorization.cashback
authorization.quasi.cash
pindebit.authorization
account.funding.authorization
authorization.incrementalpgfs.authorization.incrementalDECLINEDTo reduce the debit reservation.
original.credit.authorizationpgfs.original.credit.authorization
Conventional Funds
DECLINED / CLEAREDTo remove the credit hold.
refund.authorizationpgfs.refund.authorization
original.credit.authorizationpgfs.original.credit.authorization
Fast Funds
DECLINED/CLEAREDTo debit a payment card account, if a credit transaction has been executed.
pindebit.reversalpgfs.auth_plus_capture.reversalCOMPLETIONTo credit a payment card account, if a debit transaction has been executed.
original.credit.auth_plus_capture.reversalpgfs.original.credit.auth_plus_capture.reversalCOMPLETIONTo debit a payment card account, if a credit transaction has been executed.
pindebit.refund.reversalpgfs.refund.reversal
pindebitpgfs.auth_plus_captureDECLINEDTo credit a payment card account, if a debit transaction has been executed.
pindebit.atm.withdrawal
pindebit.cashback
original.credit.auth_plus_capturepgfs.original.credit.auth_plus_captureDECLINEDTo debit a payment card account, if a credit transaction has been executed.
authorization.clearing.chargebackpgfs.authorization.capture.chargebackCOMPLETIONTo credit a card account.
authorization.clearing.chargeback.completed
pindebit.chargebackpgfs.pindebit.chargeback
pindebit.chargeback.completed
authorization.clearing.chargeback.reversalpgfs.authorization.capture.chargeback.reversalCLEAREDTo debit a payment card account, if a credit transaction has been executed.
pindebit.chargeback.reversalpgfs.pindebit.chargeback.reversal
authorization.clearing.representmentpgfs.authorization.capture.chargeback.reversal
pgfs.force_capture
COMPLETIONTo debit a payment card account.
authorizationpgfs.authorizationPENDING
COMMANDO
To create a new debit hold for the requested amount without checking the available balance.
authorization.atm.withdrawal
authorization.cashback
authorization.quasi.cash
pindebit.authorization
account.funding.authorization
authorization.incrementalpgfs.authorization.incrementalPENDING
COMMANDO
To increase a hold with the requested amount without checking the available balance.
original.credit.authorizationpgfs.original.credit.authorization
Conventional Funds
PENDING
COMMANDO
To create a new credit hold.
refund.authorizationpgfs.refund.authorization
pindebitpgfs.auth_plus_capturePENDING
COMMANDO
To debit card account with the requested amount without checking the available balance.
pindebit.atm.withdrawal
pindebit.cashback
original.credit.auth_plus_capturepgfs.original.credit.auth_plus_capturePENDING
COMMANDO
To credit card account with the requested amount.
original.credit.authorizationpgfs.original.credit.authorization
Fast Funds

Was this article helpful?