What can we help you with?

Supporting Partial Authorization

Overview

What is partial authorization?

Partial authorization is a transaction flow where the card issuer responds to an authorization request with an amount that’s less than the amount originally requested. 

If your program is not setup for partial authorizations today, then any transaction received for less than the available balance would be declined instead of partially approved.

What am I required to do?

If your Marqeta program is using pre-funded cards then you will not need to make any changes to support partial authorization. You only need to respond to your Marqeta contact to confirm the card products for which you’d like this change to be made, and we will implement that change on the Marqeta-side.

If your Marqeta program is using a Gateway JIT funding model, your gateway will need to respond to authorization requests with partial amounts when applicable.

If your program uses a Managed JIT funding model, you will not be able to take advantage of partial authorizations, though the adoption of this feature is usually outside of Managed JIT’s main use cases.

Testing

You can test your gateway’s ability to respond with partial approvals using the simulation suite in the Marqeta Sandbox environment. Using the /simulate endpoint, you can send a test authorization to your gateway with the ‘partial_approval_capable’ flag set to ‘true’. This is the transaction flag that will be present in transactions where partial approval is supported.

You can read more about testing partial approval here:

https://www.marqeta.com/docs/core-api/simulating-transactions#_the_card_acceptor_object

(search for 'partial_approval_capable')

In the production environment, occurrences of partial approval will vary based on card acquiring gateway and terminal functionality. 

Roll-out

Marqeta will enable partial authorizations in the configuration for any/all card products you’d like. Once this is enabled, you will be able to respond with partial approval amounts. Until then, any partial approvals you return to Marqeta will not be approved.

Implementation

JIT Gateway

Your gateway is currently configured to respond to an authorization’s JIT funding request in to approve it. To support partial approvals, the response you send back can now have an amount that’s lower than the amount requested. Furthermore, you should only send those partial approval responses when the authorization contains the appropriate ‘partial_approval_capable’ flag in the ‘pos’ object.

Just like with normal purchase authorizations, partial authorizations must eventually be cleared by an authorization.clearing event that will be sent by the merchant.

For more information from our documentation site, you can find “partial authorization” on the following page:

https://www.marqeta.com/docs/core-api/gateway-jit-funding-messages#_partial_approval

Example funding request

Here’s an excerpt of the ‘pos’ object that is present in the messages received by your JIT gateway:

{
"jit_funding": {
"token": "b0a889ec-d7e2-4744-bc09-aa86b0738500",
  "method": "pgfs.authorization",
  "user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
  "amount": "2.00",
  …
}
...
"pos": {
  "pan_entry_mode": "MAG_STRIPE",
  "pin_entry_mode": "TRUE",
"terminal_id": "TR100000",
  "terminal_attendance": "ATTENDED",
  "card_holder_presence": false,
  "card_presence": false,
  "partial_approval_capable": true,
  "purchase_amount_only": false,
  "is_recurring": false
}
}

Example funding response

Your gateway is expected to respond with the same data as before - only the ‘amount’ field will be different in your response.

{
"jit_funding": {

    "token": "b0a889ec-d7e2-4744-bc09-aa86b0738500",
    "method": "pgfs.authorization",
    "user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
    "amount": "1.00",  // amount here in the response is 1.00 and requested amount was 2.00
    …
}
}

Pre-funded

Partial authorizations will be automatically approved for pre-funded programs, since you do not have a gateway that is responsible for approving transactions in real-time. If the cardholder's available balance is less than the requested amount, Marqeta will automatically respond with the current balance so that the authorization can be partially approved.

Managed JIT

Partial authorizations are not available for customer using a Managed JIT funding model. This is because the authorization decision must be based either on available balance or on a response from your JIT funding gateway. 

Webhooks

Once a partial authorization is completed, you will receive a webhook message for this event. As with other webhook messages, you can build business logic to trigger customer notifications or pending ledger entries in response to the partial authorization being processed.

Coordination

  1. Inform your Marqeta Customer Success contact when you have made the appropriate changes to support partial authorizations. For gateway customers, this means having your platform return an amount that may be less than the amount requested partial approvals are enabled on the merchant’s side. For pre-funded customers, there is no preparation needed other than being aware of the change made.

  2. Your Marqeta Customer Success contact will inform you once the appropriate changes have been made within your Marqeta program configuration to enable partial authorizations.

  3. As you begin to see these partial authorizations come through, please inform your Marqeta contact if you encounter any issues in approving those authorization, and we can start the process to rollback changes if needed.
Thanks for the feedback
Thanks for the feedback
Was this article helpful?

We've recieved your feedback.