/
35 minute read
April 25, 2023

Gateway JIT Funding Messages

To participate in Gateway Just-in-Time (JIT) Funding decisions, your system must handle messages sent by the Marqeta platform and return the appropriate response.

The Marqeta platform and your system exchange messages of the following types:

  • JIT Funding requests are actionable messages sent by the Marqeta platform to an endpoint on your system referred to as the JIT Funding gateway. These synchronous messages request permission to fund a specific transaction or to answer a balance inquiry.

  • JIT Funding responses are sent by your JIT Funding gateway to the Marqeta platform in response to a funding request or balance inquiry. Your gateway endpoint must respond to each funding request by approving or denying funding for the associated transaction. Your gateway must respond to each balance inquiry with the currently available balance for the account associated with the specified card. If you deny funding for the associated transaction, your JIT Funding response can include a descriptive decline reason. In addition, you can inject custom metadata into each response. Messages sent to the Marqeta platform must use the HTTPS protocol.

  • JIT Funding notifications are informative messages sent by the Marqeta platform to your webhook endpoint (not the JIT Funding gateway endpoint). These asynchronous messages contain the entire transaction and inform you about its ultimate outcome. Use JIT Funding notifications to validate that the Marqeta platform receives and correctly processes each of your funding responses.

These messages apply only to Gateway JIT Funding setups. For more information about JIT Funding, see About Just-in-Time Funding. For all transaction response fields, see Transactions.

The jit_funding object

Each JIT Funding message sent to your system contains a jit_funding object embedded in a gpa_order or gpa_order_unload object. Messages containing the gpa_order object indicate a load event, where funds are loaded into an account, while those containing the gpa_order_unload object indicate an unload event, where funds are removed from an account.

The jit_funding object contains information about the funding event, including the associated user token and transaction amount. The method field indicates the type of transaction and whether the message is an actionable funding request sent to your gateway endpoint or an informative message sent to your webhook endpoint.

Your gateway’s JIT Funding response must include the jit_funding object with the method found in the matching request.

The following table summarizes the available methods:

Method Purpose Funding Event Description

pgfs.adjustment.credit

Informative

Load

The Marqeta platform made a balance adjustment by crediting the program gateway funding source.

pgfs.adjustment.debit

Informative

Unload

The Marqeta platform made a balance adjustment by debiting the GPA.

pgfs.auth_plus_capture

Actionable

Load

Request for authorization to fund a user’s GPA and capture those funds. Used when the Marqeta platform receives a single-message financial transaction, such as a PIN debit, an ATM withdrawal, or a financial advice.

pgfs.auth_plus_capture.reversal

Informative

Load

A previously approved pgfs.auth_plus_capture was fully or partially reversed.

pgfs.auth_plus_capture.standin

Informative

Load

An authorization to fund a user’s GPA and capture those funds was approved by network stand-in processing. Used when the Marqeta platform receives a single-message financial transaction, such as a PIN debit, an ATM withdrawal, or a financial advice.

pgfs.authorization

Actionable

Load

Request for authorization to fund a user’s GPA.

pgfs.authorization.account_verification

Actionable

Load

An authorization request for account verification. Also known as a zero-dollar authorization.

An account verification request allows acquirers to verify a card without putting a hold on funds. Account verification requests are declined before reaching your JIT funding gateway if the card or cardholder is suspended or terminated.

You can approve an account verification request, or decline it using one of the decline reasons listed in the decline_reason field of the JIT Funding object. For example, you could use the decline reason INVALID_MERCHANT to decline an account verification request from an unauthorized retailer. If you do not include a specific decline reason in your response, Marqeta uses the decline reason "Decline account verification request."

pgfs.authorization.capture

Informative

Load

Funds have been captured for the original authorization.

pgfs.authorization.capture.chargeback

Informative

Unload

A chargeback was performed. Funds have been refunded to the refunds_destination configured on the card product. In the case of JIT Funding, the refunds_destination is set to GATEWAY, which results in the funds being returned to the Program Gateway Funding Source.

pgfs.authorization.capture.chargeback.reversal

Informative

Load

A chargeback was reversed, debiting funds from the funding source.

pgfs.authorization.incremental

Actionable

Load

Request for authorization to fund a user’s GPA for the purpose of increasing the amount of a previous authorization. This method adds to the previous amount rather than replacing it.

pgfs.authorization.reversal

Informative

Load

A previously approved authorization for JIT Funding was fully or partially reversed.

pgfs.authorization.standin

Informative

Load

An authorization to fund a user’s GPA was approved by network stand-in processing.

pgfs.force_capture

Informative

Load

This method indicates one of the following:

  • Although the GPA had sufficient funds for the original authorization, it had insufficient funds for clearing. In this case, JIT Funding was not performed at authorization, so JIT Funding is forced at clearing time.

  • The merchant force-posted the transaction and funds were provided through JIT Funding.

pgfs.original.credit.authorization

Actionable

Unload

Request for authorization to credit the GPA.

pgfs.original.credit.authorization.clearing

Informative

Load

Funds have been cleared for the OCT authorization.

pgfs.original.credit.authorization.reversal

Informative

Unload

A previously approved OCT authorization was fully or partially reversed.

pgfs.original.credit.auth_plus_capture

Actionable

Load

Request for authorization to credit the GPA and capture those funds.

pgfs.original.credit.auth_plus_capture.reversal

Informative

Unload

A previously approved pgfs.original.credit.auth_plus_capture was fully or partially reversed.

pgfs.balanceinquiry

Actionable

n/a

Request for balance information, often the result of a cardholder request at an ATM. No funding event.

pgfs.pindebit.chargeback

Informative

Unload

A chargeback was performed. Funds have been refunded to the refunds_destination configured on the card product. In the case of JIT Funding, the refunds_destination is set to GATEWAY, which results in the funds being returned to the Program Gateway Funding Source.

pgfs.pindebit.chargeback.reversal

Informative

Load

A chargeback was reversed, debiting funds from the funding source.

pgfs.refund

Informative

Unload

A merchant refund was performed. Funds have been refunded to the refunds_destination configured on the card product. In the case of JIT Funding, the refunds_destination can only be set to GATEWAY, which results in the funds being returned to the Program Gateway Funding Source.

pgfs.refund.authorization

Actionable

Unload

Request to your JIT gateway for authorization to credit the cardholder’s GPA.

pgfs.refund.authorization.reversal

Informative

Unload

The financial impact of a merchant refund was reversed.

The jit_funding object also contains an address_verification object. This object stores address data provided by the purchaser and address data held on the Marqeta platform, as well as the address match determination made by the Marqeta platform. You can use this data to help make funding decisions in response to JIT Funding requests. For more information on how to use this object, see Using AVS with JIT Funding.

JIT Funding requests

The Marqeta platform sends JIT Funding requests to your gateway endpoint. Each request includes an abbreviated form of the related transaction (unless it is a non-financial balance inquiry, in which case there is no associated transaction). The request’s gpa_order.jit_funding object contains the details necessary for JIT Funding, including the amount of requested funding (note that other amount fields within the body might indicate different values).

Note
Each transaction and related JIT Funding request include only a subset of available fields, depending on the merchant, card network, or product/service purchased.

Partial approval

The JIT Funding request message includes the partial_approval_capable field of the associated transaction. This field indicates whether your JIT Funding response can approve some amount less than the requested amount (partial_approval_capable is true) or must approve the entire amount (partial_approval_capable is false). For example, if you receive a JIT Funding request for $100, and partial_approval_capable is true, your response can approve a smaller amount, such as $50. In your response, include the partial approval amount in the jit_funding.amount field, just as you would when approving the whole amount.

Note
Support for partial approval is dependent on the merchant.

Headers

Each JIT Funding request includes the following HTTP headers that inform your system about the details of the incoming request.

Name Description Allowable Values

x-marqeta-request-trace-id

The universally unique identifier of the JIT Funding request.

Existing UUID

x-marqeta-jit-funding-gateway-version

The version of your JIT Funding gateway.

1.0, 2.0, 3.0

x-marqeta-transactions-model-version

The version of the transaction model returned by the Core API.

1.0, 2.0

The gpa_order.jit_funding object

Fields Description

token

string
Returned

Existing JIT Funding token matching the funding.gateway_log.transaction_id field of the associated GPA order. Note that the transaction_id field updates if a subsequent JIT Funding message associated with that GPA order is sent. If multiple JIT Funding messages are associated with the same GPA order, the transaction_id field matches the token of the most recent message.

Allowable Values:

36 char max

method

string
Returned

JIT Funding request type. See The jit_funding object for the purpose, funding event type, and description of each method.

Allowable Values:

pgfs.authorization, pgfs.balanceinquiry, pgfs.authorization.incremental, pgfs.authorization.capture, pgfs.authorization.reversal, pgfs.auth_plus_capture, pgfs.refund, pgfs.force_capture, pgfs.authorization.capture.chargeback, pgfs.authorization.capture.chargeback.reversal, pgfs.pindebit.chargeback, pgfs.pindebit.chargeback.reversal, pgfs.dispute.credit, pgfs.dispute.debit, pgfs.directdeposit.credit, pgfs.directdeposit.debit, pgfs.directdeposit.credit.reversal, pgfs.directdeposit.debit.reversal, pgfs.adjustment.credit, pgfs.adjustment.debit, pgfs.auth_plus_capture.standin, pgfs.authorization.standin, pgfs.network.load, pgfs.original.credit.authorization, pgfs.original.credit.auth_plus_capture, pgfs.refund.authorization, pgfs.refund.authorization.reversalpgfs.billpayment, pgfs.billpayment.capture, pgfs.billpayment.reversal, pgfs.authorization.account_verification

user_token

string
Returned

Holder of the user account to be funded.

Allowable Values:

Existing user token.

business_token

string
Returned

Holder of the business account to be funded.

Allowable Values:

Existing business token

acting_user_token

string
Conditionally returned

User who conducted the transaction.

Can be a child user configured to share its parent’s account balance.

Allowable Values:

36 char max

amount

decimal
Returned

Requested amount of funding.

NOTE: This field’s value can differ from the transaction’s top-level amount value, which defines the authorization amount. These values differ when the account being funded has a positive account balance. Associated fees can also cause these fields to differ.

Allowable Values:

0 min

address_verification

object
Conditionally returned

Contains address verification data consisting of address data entered by the cardholder, address data held by the Marqeta platform, and an assertion by the Marqeta platform as to whether the two sets of data match. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

gateway, issuer, request

original_jit_funding_token

string
Conditionally returned

Unique identifier of the first associated JIT Funding message. Useful for correlating related JIT Funding messages (that is, those associated with the same GPA order). Not included in the first of any set of related messages.

Allowable Values:

36 char max

The gpa_order.jit_funding.address_verification object

Fields Description

request

object
Conditionally returned

Contains address verification data provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

postal_code, street_address, zip

issuer

object
Conditionally returned

Contains both address verification data held by the Marqeta platform and an assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

on_file, response

The gpa_order.jit_funding.address_verification.request object

Fields Description

street_address

string
Conditionally returned

Street address provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

40 char max

postal_code

string
Conditionally returned

Postal code provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

10 char max

The gpa_order.jit_funding.address_verification.issuer object

Fields Description

on_file

object
Conditionally returned

Contains address verification data stored on the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

postal_code, street_address, zip

response

object
Conditionally returned

Contains an assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

code, memo

The gpa_order.jit_funding.address_verification.issuer.on_file object

Fields Description

street_address

string
Conditionally returned

Street address provided by the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

This field is a concatenation of the address1 and address2 fields associated with the cardholder.

Allowable Values:

40 char max

postal_code

string
Conditionally return

Postal code provided by the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

10 char max

The gpa_order.jit_funding.address_verification.issuer.response object

Fields Description

code

string
Returned

Assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder. The assertion is presented as a four-digit code.

Allowable Values:

One of the following assertion codes:

Code Address Postal Code

0000

Match

Match

0001

Match

Unmatched

0100

Unmatched

Match

0101

Unmatched

Unmatched

0200

Data Not Present

Match

0201

Data Not Present

Unmatched

0002

Match

Data Not Present

0102

Unmatched

Data Not Present

0303

Not Validated

Not Validated

memo

string
Returned

Free-form comments included in the transaction data for authorization and authorization completion transactions. This field should contain additional information about address verification. Do not put personally identifiable information (PII) data here.

Allowable Values:

99 char max

Sample request (returned fields)

The following sample JIT Funding request contains only returned fields. These fields are present in every JIT Funding request.

JSON
Copied

Is this helpful?

Yes
No

Sample request (with selection of conditionally returned fields)

The following sample JIT Funding request contains returned fields, plus a selection of conditionally returned objects and fields such as gpa_order.jit_funding.original_jit_funding_token, gpa_order.jit_funding.address_verification, and digital_wallet_token.

JSON
Copied

Is this helpful?

Yes
No

Sample request for account verification

The following sample is a JIT Funding request for account verification, also known as a "zero-dollar authorization."

JSON
Copied

Is this helpful?

Yes
No

JIT Funding responses

Your JIT Funding gateway must respond to each JIT Funding request and either approve or deny the requested funding.

Ensure that your response body adheres to the specifications in this section. You must include all required fields regardless of whether you approve or deny the transaction. Balance inquiries require an additional balances object in the response.

Approving or denying the request

Use the following HTTP response codes to indicate whether you approve or deny the funding request.

  • To approve funding for the JIT Funding request: Set the HTTP response code to "200 OK".

  • To deny funding for the JIT Funding request: Set the HTTP response code to "402 Request Failed".

Response body field details

Fields Description

jit_funding

object
Required

The top-level element of the response. All other fields are contained within this element.

NOTE: JIT Funding responses are sent by your gateway to the Marqeta platform in response to a funding request. As such, you must provide this object in your response to the Marqeta platform; the platform does not supply it for you.

Allowable Values:

Existing jit_funding object

The jit_funding object

Fields Description

token

string
Required

Identifies the JIT Funding request and response.

Allowable Values:

Must match request

method

string
Required

Identifies the JIT Funding response type.

Allowable Values:

Must match request

user_token

string
Required

Identifies the holder of the user account to be funded.

Include either a user_token or business_token field.

Allowable Values:

Must match request

business_token

string
Required

Identifies the holder of the business account to be funded.

Include either a user_token or business_token field.

Allowable Values:

Must match request

acting_user_token

string
Optional

Identifies the user who conducted the transaction.

This user can be a child user configured to share its parent’s account balance.

Allowable Values:

Must match request when present

amount

decimal
Conditionally required

The requested amount of funding. This field is required for the pgfs.balanceinquiry method.

  • If partial_approval_capable is false, the response amount must match the request amount.

  • If partial_approval_capable is true, the response amount must be less than or equal to the request amount and greater than zero.

WARNING: The JIT Funding request contains multiple amount fields. Ensure that you use the value from gpa_order.jit_funding.amount. Do not use the value from the top-level amount field (or any other amount field) because those fields might contain a value different from the gpa_order.jit_funding.amount field. In particular, amount fields will differ if the account being funded has a positive account balance before JIT Funding is requested. Associated fees can also cause amount field values to differ.

Allowable Values:

Format: 0.00 (response must include two decimal places)

original_jit_funding_token

string
Optional

The token of the first associated JIT Funding message. This token enables you to correlate related JIT Funding messages (that is, those associated with the same GPA order). This field is not included in the first of any set of related messages.

Allowable Values:

Must match request when present

address_verification.gateway

object
Optional

Contains gateway-held address verification data and the gateway’s assertion as to whether its data matches the data provided by the cardholder.

Include this object only if you want to override the assertion provided in the JIT Funding request.

Allowable Values:

Existing jit_funding.address_verification.gateway object

balances

object
Optional

Contains balance information, by currency.

Allowable Values:

Only include this object in response to an ATM balance inquiry or an ATM withdrawal. In all other scenarios it is ignored.

tags

string
Optional

A comma-delimited list of tags.

Allowable Values:

255 char max

memo

string
Optional

Free-form comments included in the transaction data for authorization and authorization completion transactions. This field should contain additional information about the funding event. Do not put personally identifiable information (PII) data here.

Allowable Values:

99 char max

decline_reason

string
Optional

A descriptive reason for declining the transaction.

Allowable Values:

AMOUNT_LIMIT_EXCEEDED, CARD_NOT_ACTIVE, CARDHOLDER_NOT_ACTIVE, CLOSED_ACCOUNT, DUPLICATE_TRANSACTION, EXPIRED_CARD, INSUFFICIENT_FUNDS, INVALID_AMOUNT, INVALID_CARD, INVALID_MERCHANT, NO_CHECKING_ACCOUNT, NO_CREDIT_ACCOUNT, NO_SAVINGS_ACCOUNT, REVOCATION_AUTHORIZATION_ORDER, REVOCATION_ALL_AUTHORIZATION_ORDER, SOFT_DECLINE_AUTHENTICATION_REQUIRED, STOP_PAYMENT, SUSPECTED_FRAUD, TRANSACTION_COUNT_LIMIT_EXCEEDED, TRANSACTION_NOT_PERMITTED,

The jit_funding.address_verification.gateway object

Fields Description

on_file

object
Optional

Contains address verification data held by the gateway.

Allowable Values:

street_address, postal_code

response

object
Optional

Contains the gateway’s assertion as to whether its address verification data matches the cardholder’s.

Allowable Values:

code, memo

The jit_funding.address_verification.gateway.on_file object

Fields Description

street_address

string
Optional

Street address provided by the gateway.

Allowable Values:

40 char max

postal_code

string
Optional

Postal code provided by the gateway.

Allowable Values:

9 char max

The jit_funding.address_verification.gateway.response object

Fields Description

code

string
Optional

The gateway’s assertion as to whether the address verification data provided by the gateway and cardholder match. The assertion is presented as a four-digit code.

Allowable Values:

One of the following assertion codes:

Code Address Postal Code

0000

Match

Match

0001

Match

Unmatched

0100

Unmatched

Match

0101

Unmatched

Unmatched

0200

Data Not Present

Match

0201

Data Not Present

Unmatched

0002

Match

Data not present

0102

Unmatched

Data not present

0303

Not Validated

Not validated

memo

string
Optional

Free-form comments included in the transaction data for authorization and authorization completion transactions. This field should contain additional information about address verification. Do not put personally identifiable information (PII) data here.

Allowable Values:

99 char max

The jit_funding.balances object

The balances object contains one or more objects for each currency of funds held by the associated account. For example, if an account only holds a balance in USD, there is one sub-object: USD.

When responding to balance inquiries, you must include the jit_funding.balances object containing fields matching the request’s gpa.balances object. In the case of an ATM withdrawal, you should include the jit_funding.balances object in your JIT funding response to display the current account balance, otherwise a balance of $0 is shown to the cardholder.

You must populate the balances object with the correct amounts from your ledger. You should not include the amount field in your response.

Note
Your gateway must handle scenarios where cardholders make purchases and balance inquiries in quick succession.

Each currency-specific sub-object of jit_funding.balances contains the following fields:

Fields Description

currency_code

string
Required

The three-digit ISO 4217 currency code of the balance.

Allowable Values:

Valid three-digit ISO 4217 currency code

ledger_balance

decimal
Optional

Authorized funds that are currently on hold, but not yet cleared.

Allowable Values:

Format: 0.00

available_balance

decimal
Required

The ledger balance minus any authorized transactions that have not yet cleared. Also known as the cardholder’s purchasing power. If you are using JIT Funding, this balance is usually 0.00.

Allowable Values:

Format: 0.00

credit_balance

decimal
Optional

Not currently used.

Allowable Values:

Not applicable

pending_credits

decimal
Optional

ACH loads that have been accepted, but for which the funding time has not yet elapsed.

Allowable Values:

Format: 0.00

Sample responses for authorizations

JSON
Copied

Is this helpful?

Yes
No
JSON
Copied

Is this helpful?

Yes
No

Sample response for balance inquiries

JSON
Copied

Is this helpful?

Yes
No

Sample response for an ATM withdrawal

JSON
Copied

Is this helpful?

Yes
No

JIT Funding notifications

The transaction that triggered the JIT Funding request and all associated transactions are sent to your system as webhook notifications. The JIT Funding notification body contains the entire transaction.

To implement JIT Funding notifications, you must complete the following tasks:

  • Set up a webhook endpoint in your system to receive JIT Funding notifications.

  • Respond to each notification message with an HTTP response code of "200 OK" and an empty response body. (The Marqeta platform resends the message until it receives the appropriate response.)

You should use JIT Funding notifications to validate that the Marqeta platform receives and correctly processes each of your JIT Funding responses. Doing so safeguards against a situation where the Marqeta platform times out because of a delayed JIT Funding response and declines an authorization for which you already approved JIT Funding. In a case such as this, you need to know that the authorization was not approved and ensure that your cardholder is not debited for the transaction.

The gpa_order.jit_funding object

Fields Description

token

string
Returned

Existing JIT Funding token matching the funding.gateway_log.transaction_id field of the associated GPA order. Note that the transaction_id field updates if a subsequent JIT Funding message associated with that GPA order is sent. If multiple JIT Funding messages are associated with the same GPA order, the transaction_id field matches the token of the most recent message.

Allowable Values:

36 char max

method

string
Returned

JIT Funding response type.

Allowable Values:

pgfs.authorization, pgfs.balanceinquiry, pgfs.authorization.incremental, pgfs.authorization.capture, pgfs.authorization.reversal, pgfs.auth_plus_capture, pgfs.refund, pgfs.force_capture, pgfs.authorization.capture.chargeback, pgfs.authorization.capture.chargeback.reversal, pgfs.pindebit.chargeback, pgfs.pindebit.chargeback.reversal, pgfs.dispute.credit, pgfs.dispute.debit, pgfs.directdeposit.credit, pgfs.directdeposit.debit, pgfs.directdeposit.credit.reversal, pgfs.directdeposit.debit.reversal, pgfs.adjustment.credit, pgfs.adjustment.debit, pgfs.auth_plus_capture.standin, pgfs.authorization.standin, pgfs.network.load, pgfs.original.credit.authorization, pgfs.original.credit.auth_plus_capture, pgfs.refund.authorization, pgfs.refund.authorization.reversalpgfs.billpayment, pgfs.billpayment.capture, pgfs.billpayment.reversal, pgfs.authorization.account_verification

business_token

string
Returned

Identifies the holder of the business account that was funded.

Either a user_token or business_token field is present, not both.

Allowable Values:

Existing business token

user_token

string
Returned

Identifies the holder of the user account that was funded.

Either a user_token or business_token field is present, not both.

Allowable Values:

Existing user token

acting_user_token

string
Returned

Identifies the user who conducted the transaction.

This user can be a child user configured to share its parent’s account balance.

Allowable Values:

Existing user token

amount

decimal
Returned

Amount of funding requested.

NOTE: This field’s value can differ from the transaction’s top-level amount field (or any other amount field) within the transaction. In particular, these fields will differ if the account being funded already has a positive account balance. Associated fees can also cause these fields to differ.

Allowable Values:

0 min

address_verification

object
Conditionally returned

Contains address verification data consisting of address data entered by the cardholder, address data held by the Marqeta platform, and an assertion by the Marqeta platform as to whether the two sets of data match. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

gateway, issuer, request

original_jit_funding_token

string
Conditionally returned

Unique identifier of the first associated JIT Funding message. Useful for correlating related JIT Funding messages (that is, those associated with the same GPA order). Not included in the first of any set of related messages.

Allowable Values:

Existing JIT Funding message token from the jit_funding.token field

incremental_authorization_jit_funding_tokens

array of strings
Conditionally returned

Array of tokens referencing the jit_funding.token field of all previous associated pgfs.authorization.incremental JIT Funding requests. This field enables you to ascertain the final transaction amount when the original amount was incremented. It is present in JIT Funding notifications of type pgfs.authorization.capture and pgfs.authorization.reversal (for partial reversals only) if the amount of the initial authorization was increased by way of a pgfs.authorization.incremental JIT Funding request.

Allowable Values:

Valid array of existing JIT Funding request tokens from the jit_funding.token field

The gpa_order.jit_funding.address_verification object

Fields Description

request

object
Conditionally returned

Contains address verification data provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

Existing gpa_order.jit_funding.address_verification.request object

issuer

object
Conditionally returned

Contains both address verification data held by the Marqeta platform and an assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

Existing gpa_order.jit_funding.address_verification.issuer object

gateway

object
Conditionally returned

Contains address verification data consisting of address data entered by the cardholder, address data held by the Marqeta platform, and an assertion by the Marqeta platform as to whether the two sets of data match.

Allowable Values:

on_file, response

request

object
Conditionally returned

Contains address verification data provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

Existing gpa_order.jit_funding.address_verification.request object.

The gpa_order.jit_funding.address_verification.issuer object

Fields Description

on_file

object
Conditionally returned

Contains address verification data held by the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

Existing gpa_order.jit_funding.address_verification.issuer.on_file object.

response

object
Conditionally returned

Contains an assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

code, memo

The gpa_order.jit_funding.address_verification.issuer.on_file object

Fields Description

street_address

string
Conditionally returned

Street address provided by the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

This field is a concatenation of the address1 and address2 fields associated with the cardholder.

Allowable Values:

40 char max

postal_code

string
Conditionally returned

Postal code provided by the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

9 char max

The gpa_order.jit_funding.address_verification.issuer.response object

Fields Description

code

string
Conditionally returned

Assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased. The assertion is presented as a four-digit code.

Allowable Values:

One of the following assertion codes:

Code Address Postal Code

0000

Match

Match

0001

Match

Unmatched

0100

Unmatched

Match

0101

Unmatched

Unmatched

0200

Data Not Present

Match

0201

Data Not Present

Unmatched

0002

Match

Data Not Present

0102

Unmatched

Data Not Present

0303

Not Validated

Not Validated

memo

string
Conditionally returned

Free-form comments included in the transaction data for authorization and authorization completion transactions. Returned depending on the merchant, card network, or product/service purchased. This field should contain additional information about address verification. Do not put personally identifiable information (PII) data here.

Allowable Values:

99 char max

The gpa_order.jit_funding.address_verification.gateway object

Fields Description

on_file

object
Conditionally returned

Contains address verification information.

Allowable Values:

postal_code, street_address, zip

response

object
Conditionally returned

Contains the Marqeta platform’s assertion as to whether its address verification data matches that provided by the cardholder.

Allowable Values:

additional_information, code, memo

The gpa_order.jit_funding.address_verification.gateway.on_file object

Fields Description

jit_funding.address_verification.gateway.on_file.postal_code

string
Conditionally returned

Postal code provided by the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

10 char max

jit_funding.address_verification.gateway.on_file.street_address

string
Conditionally returned

Street address provided by the Marqeta platform. Returned depending on the merchant, card network, or product/service purchased.

This field is a concatenation of the address1 and address2 fields associated with the cardholder.

Allowable Values:

40 char max

jit_funding.address_verification.gateway.on_file.zip

string
Conditionally returned

United States ZIP code of the address.

Allowable Values:

10 char max

The gpa_order.jit_funding.address_verification.gateway.response object

Fields Description

jit_funding.address_verification.gateway.response.code

string
Returned

Assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder. The assertion is presented as a four-digit code.

Allowable Values:

One of the following assertion codes:

Code Address Postal Code

0000

Match

Match

0001

Match

Unmatched

0100

Unmatched

Match

0101

Unmatched

Unmatched

0200

Data Not Present

Match

0201

Data Not Present

Unmatched

0002

Match

Data Not Present

0102

Unmatched

Data Not Present

0303

Not Validated

Not Validated

jit_funding.address_verification.gateway.response.memo

string
Returned

Information on the outcome of the attempted transaction type.

Allowable Values:

255 char max

The gpa_order.jit_funding.address_verification.request object

Fields Description

street_address

string
Conditionally returned

Street address provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

40 char max

postal_code

string
Conditionally returned

Postal code provided by the cardholder. Returned depending on the merchant, card network, or product/service purchased.

Allowable Values:

9 char max

The gpa_order_unload.jit_funding object

Fields Description

token

string
Returned

Identifies the JIT Funding notification.

Allowable Values:

Matches the funding.gateway_log.transaction_id field of the associated GPA order. Note that the transaction_id field updates if a subsequent JIT Funding message associated with that GPA order is sent. If multiple JIT Funding messages are associated with the same GPA order, the transaction_id field matches the token of the most recent message.

method

string
Returned

Identifies the JIT Funding notification type.

Allowable Values:

pgfs.adjustment.debit, pgfs.authorization.capture.chargeback, pgfs.refund, pgfs.refund.authorization.reversal

business_token

string
Returned

Identifies the holder of the account that was JIT funded.

Either a user_token or business_token field is present, not both.

Allowable Values:

Existing business token

user_token

string
Returned

Identifies the holder of the account that was JIT funded.

Either a user_token or business_token field is present, not both.

Allowable Values:

Existing user token

acting_user_token

string
Returned

Identifies the user who conducted the transaction.

This user can be a child user configured to share its parent’s account balance.

Allowable Values:

Existing user token

amount

decimal
Returned

Requested amount of JIT funding.

NOTE: This field’s value can differ from the transaction’s top-level amount field (or any other amount field) within the transaction. In particular, these fields will differ if the account being funded already has a positive balance. Associated fees can also cause these fields to differ.

Allowable Values:

0 min

original_jit_funding_token

string
Conditionally returned

The token of the first associated JIT Funding message. This enables you to correlate related JIT Funding messages (that is, those associated with the same GPA order). This field is not included in the first of any set of related messages.

Allowable Values:

Existing JIT Funding message token (from the jit_funding.token field)

Sample notification

JSON
Copied

Is this helpful?

Yes
No

Reconciliation with custom mapping

Through customization of the JIT Funding response, you can facilitate end-to-end reconciliation of JIT Funding-related activities in your system.

The JIT Funding response originates from your system. The response contains two optional fields that you can use to inject custom metadata from your system into your JIT Funding-enabled authorization and authorization completion transactions. This mechanism enables you to map elements of your system (such as order numbers, invoice numbers, loan identifiers) to purchases (as represented by transactions).

Note
These two optional fields only appear in the transaction notifications for certain transaction events: authorizations and authorization completion.

The following sample code snippet shows these two optional fields in the JIT Funding response. The tags field is intended for holding a comma-delimited list of tags, whereas the memo field is intended for holding a free-form note containing additional information you would like included in your transaction data. Do not put personally identifiable information (PII) data here.

JSON
Copied

Is this helpful?

Yes
No

The authorization or authorization completion transaction stores the custom metadata contained in these fields for access throughout the transaction’s lifecycle. You can access this metadata via webhook notifications or by querying the /transactions endpoint (see Webhooks and Transactions). The following sample code snippet shows these fields in the context of a transaction:

JSON
Copied

Is this helpful?

Yes
No

Subscribe to our developer newsletter