Skip to main content
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:
MethodPurposeFunding EventDescription
pgfs.adjustment.creditInformativeLoadThe Marqeta platform made a balance adjustment by crediting the program gateway funding source.
pgfs.adjustment.debitInformativeUnloadThe Marqeta platform made a balance adjustment by debiting the GPA.
pgfs.auth_plus_captureActionableLoadRequest 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.reversalInformativeLoadA previously approved pgfs.auth_plus_capture was fully or partially reversed.
pgfs.auth_plus_capture.standinInformativeLoadAn 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.authorizationActionableLoadRequest for authorization to fund a user’s GPA.
pgfs.authorization.account_verificationActionableN/AAn 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.”

To validate an anticipated amount verification transaction (AAVT), your Gateway JIT Funding response must include the anticipated_amount_supported field. A value of true indicates that the cardholder has sufficient funds for the transaction, and a value of false indicates that the cardholder does not have sufficient funds.
pgfs.authorization.captureInformativeLoadFunds have been captured for the original authorization.
pgfs.authorization.capture.chargebackInformativeUnloadA 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.reversalInformativeLoadA chargeback was reversed, debiting funds from the funding source.
pgfs.authorization.incrementalActionableLoadRequest 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.reversalInformativeLoadA previously approved authorization for JIT Funding was fully or partially reversed.
pgfs.authorization.standinInformativeLoadAn authorization to fund a user’s GPA was approved by network stand-in processing.
pgfs.balanceinquiryActionableN/ARequest for balance information, often the result of a cardholder request at an ATM. No funding event.
pgfs.force_captureInformativeLoadThis 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.authorizationActionableUnloadRequest for authorization to credit the GPA.
pgfs.original.credit.authorization.clearingInformativeLoadFunds have been cleared for the OCT authorization.
pgfs.original.credit.authorization.reversalInformativeUnloadA previously approved OCT authorization was fully or partially reversed.
pgfs.original.credit.auth_plus_captureActionableLoadRequest for authorization to credit the GPA and capture those funds.
pgfs.original.credit.auth_plus_capture.reversalInformativeUnloadA previously approved pgfs.original.credit.auth_plus_capture was fully or partially reversed.
pgfs.pindebit.chargebackInformativeUnloadA 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.reversalInformativeLoadA chargeback was reversed, debiting funds from the funding source.
pgfs.product.inquiryActionableLoadA zero-dollar authorization request to determine Visa Flexible Credential eligibility.
pgfs.refundInformativeUnloadA 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.authorizationActionableUnloadRequest to your JIT gateway for authorization to credit the cardholder’s GPA.
pgfs.refund.authorization.reversalInformativeUnloadThe 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. For information about transaction fields, see Transactions.

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,andpartialapprovalcapableistrue,yourresponsecanapproveasmalleramount,suchas100, 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.
NameDescriptionAllowable Values
x-marqeta-request-trace-idThe universally unique identifier of the JIT Funding request.Existing UUID
x-marqeta-jit-funding-gateway-versionThe version of your JIT Funding gateway.1.0, 2.0, 3.0
x-marqeta-transactions-model-versionThe version of the Transaction Model returned by the Core API.1.0, 2.0

The gpa_order.jit_funding object

FieldsDescription
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.reversal, pgfs.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

FieldsDescription
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

FieldsDescription
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

FieldsDescription
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

FieldsDescription
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:

10 char max

The gpa_order.jit_funding.address_verification.issuer.response object

FieldsDescription
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 / Not matched
0100 / Not matched / Match
0101 / Not matched / Not matched
0200 / Data Not Present / Match
0201 / Data Not Present / Not matched
0002 / Match / Data Not Present
0102 / Not matched / 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
{
  "type": "authorization",
  "state": "PENDING",
  "token": "198d1132-b34e-4445-a5ca-2e0fe4a55e26",
  "user_token": "user-158634",
  "acting_user_token": "user-158634",
  "card_token": "card-158634",
  "gpa": {
    "currency_code": "USD",
    "ledger_balance": 252.93,
    "available_balance": 0.00,
    "credit_balance": 0.00,
    "pending_credits": 0.00,
    "balances": {
      "USD": {
        "currency_code": "USD",
        "ledger_balance": 252.93,
        "available_balance": 0.00,
        "credit_balance": 0.00,
        "pending_credits": 0.00
      }
    }
  },
  "gpa_order": {
    "token": "b849f8a2-77a6-4745-bbb3-1dd8710427fa",
    "amount": 29.74,
    "transaction_token": "198d1132-b34e-4445-a5ca-2e0fe4a55e26",
    "state": "PENDING",
    "funding": {
      "amount": 29.74,
      "source": {
        "type": "programgateway",
        "token": "**********6a19",
        "active": true,
        "name": "jit funding source name",
        "is_default_account": false,
        "created_time": "2022-11-09T09:36:09Z",
        "last_modified_time": "2023-01-15T19:38:55Z"
      }
    },
    "funding_source_token": "**********6a19",
    "jit_funding": {
      "token": "0b199f94-2d5c-4fc4-9357-be998eaeebfd",
      "method": "pgfs.authorization",
      "user_token": "user-158634",
      "acting_user_token": "user-158634",
      "amount": 29.74
    },
    "user_token": "user-158634",
    "currency_code": "USD"
  },
  "created_time": "2022-09-25T23:41:25Z",
  "user_transaction_time": "2022-09-25T23:41:25Z",
  "amount": 29.74,
  "currency_code": "USD",
  "network": "MASTERCARD",
  "card_acceptor": {
    "mid": "4445001899609",
    "mcc": "5411",
    "name": "WHOLEFDS EGW 101",
    "city": "EDGEWATER",
    "state": "NJ",
    "postal_code": "07020",
    "country_code": "USA"
  },
  "acquirer": {
         "institution_country": "840",
         "institution_id_code": "375321467",
         "retrieval_reference_number": "526051868288",
         "system_trace_audit_number": "676127"
  },
  "fraud": {
         "network": {
             "transaction_risk_score": 86,
             "account_risk_score": 2
         }
  },
  "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": false,
         "purchase_amount_only": false,
         "is_recurring": false
  }
}

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
{
  "type": "authorization.incremental",
  "state": "PENDING",
  "token": "9699f5fc-3516-49c1-93a1-f6a9e6635bdf",
  "user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
  "acting_user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
  "card_token": "028b20b2-215f-4ab4-a334-f08d99def0e4",
  "preceding_related_transaction_token": "9b8444db-d4f8-43a7-9eeb-80c0bf90833f",
  "gpa": {
    "currency_code": "USD",
    "ledger_balance": 60.00,
    "available_balance": 0.00,
    "credit_balance": 0.00,
    "pending_credits": 0.00,
    "balances": {
      "USD": {
        "currency_code": "USD",
        "ledger_balance": 60.00,
        "available_balance": 0.00,
        "credit_balance": 0.00,
        "pending_credits": 0.00
      }
    }
  },
  "gpa_order": {
    "token": "a3abe952-bd25-48b8-8511-7d6350c15bf3",
    "amount": 1.00,
    "transaction_token": "9699f5fc-3516-49c1-93a1-f6a9e6635bdf",
    "state": "PENDING",
    "funding": {
      "amount": 1.00,
      "source": {
        "type": "programgateway",
        "token": "**********d27e",
        "active": true,
        "name": "Program Gateway Funding Source",
        "is_default_account": false,
        "created_time": "2022-08-24T21:52:36Z",
        "last_modified_time": "2022-08-24T21:52:36Z"
      }
    },
    "funding_source_token": "**********d27e",
    "jit_funding": {
      "token": "9f4ec793-2dfc-4a41-aac2-dbdb348f335e",
      "method": "pgfs.authorization.incremental",
      "user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
      "acting_user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
      "amount": 1.00,
      "original_jit_funding_token": "2c4f1443-a82b-446f-8fbc-366ddc5c9c9f",
      "address_verification": {
        "request": {
          "street_address": "",
          "postal_code": "94702"
        },
        "issuer": {
          "on_file": {
            "street_address": "",
            "postal_code": "94702"
          },
          "response": {
            "code": "0200",
            "memo": "Address not present and postal code match"
          }
        }
      }
    },
    "user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
    "currency_code": "USD",
  },
  "digital_wallet_token": {
    "token": "4c72bc11-1574-48c3-8cba-586072a7432f",
    "card_token": "IC_4e3omf16hwgbfpt7pumg6tfky",
    "state": "ACTIVE",
    "state_reason": "Digital wallet token provisioned to digital wallet",
    "fulfillment_status": "PROVISIONED",
    "issuer_eligibility_decision": "0000",
    "created_time": "2023-04-03T03:03:30Z",
    "last_modified_time": "2023-04-11T01:48:18Z",
    "token_service_provider": {
      "token_reference_id": "DNITHE301909311006593051",
      "pan_reference_id": "V-8679093106555599781122",
      "token_requestor_id": "40010030273",
      "token_requestor_name": "APPLE_PAY",
      "token_type": "DEVICE_SECURE_ELEMENT",
      "token_pan": "411111______1111",
      "token_expiration": "1223",
      "token_score": "14",
      "token_eligibility_decision": "DECISION_GREEN"
    },
    "device": {
      "type": "MOBILE_PHONE",
      "language_code": "eng",
      "device_id": "0423117BE44E80018327074341948822B514D73218EB41DE",
      "phone_number": "14088581301",
      "name": "iPhone",
      "location": "+35.96/-78.85",
      "ip_address": "101.203.084.990"
    },
    "wallet_provider_profile": {
      "account": {
        "email_address": "testUser@email.com",
        "score": "03"
      },
      "risk_assessment": {
        "score": "DECISION_YELLOW",
        "version": "0001.00"
      },
      "device_score": "03",
      "pan_source": "MOBILE_BANKING_APP",
      "reason_code": "0103040D"
    },
    "address_verification": {
      "name": "",
      "street_address": "180 Grand Ave",
      "zip": "**MASKED**"
    }
  },
  "created_time": "2022-09-29T21:35:03Z",
  "user_transaction_time": "2022-09-29T21:35:03Z",
  "settlement_date": "2022-09-29T00:00:00Z",
  "request_amount": 1.00,
  "amount": 1.00,
  "issuer_interchange_amount": 0.00,
  "currency_code": "USD",
  "network": "MASTERCARD",
  "acquirer_fee_amount": 0.00,
  "card_acceptor": {
    "mid": "123456890",
    "mcc": "6411",
    "name": "Marqeta Storefront",
    "address": "330 Central Ave.",
    "city": "St. Petersburg",
    "state": "FL",
    "postal_code": "33705",
    "country_code": "USA"
  },
  "acquirer": {
         "institution_country": "840",
         "institution_id_code": "375321467",
         "retrieval_reference_number": "526051868288",
         "system_trace_audit_number": "676127"
   },
   "card_security_code_verification": {
         "type": "CVV1",
         "response": {
             "code": "0000",
             "memo": "Card security code match"
         }
   },
   "fraud": {
         "network": {
             "transaction_risk_score": 86,
             "account_risk_score": 2
         }
   },
   "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": false,
         "purchase_amount_only": false,
         "is_recurring": false
   },
   "transaction_metadata": {
         "payment_channel": "OTHER"
   }
 }

Sample request for account verification

The following sample is a JIT Funding request for account verification, also known as a “zero-dollar authorization.”
JSON
{
  "type": "authorization",
  "state": "CLEARED",
  "token": "my_jit_funding_request_token",
  "user_token": "my_user_token",
  "acting_user_token": "my_user_token",
  "card_token": "my_user_card_token",
  "gpa": {
    "currency_code": "USD",
    "ledger_balance": 0.00,
    "available_balance": 0.00,
    "credit_balance": 0.00,
    "pending_credits": 0.00,
    "balances": {
      "USD": {
        "currency_code": "USD",
        "ledger_balance": 0.00,
        "available_balance": 0.00,
        "credit_balance": 0.00,
        "pending_credits": 0.00
      }
    }
  },
  "gpa_order": {
    "token": "my_gpa_order_token",
    "amount": 0.00,
    "transaction_token": "my_transaction_token",
    "state": "PENDING",
    "funding": {
      "amount": 0.00,
      "source": {
        "type": "programgateway",
        "token": "my_funding_source_token",
        "active": true,
        "name": "JIT Test PGFS",
        "is_default_account": false,
        "created_time": "2022-07-09T19:09:46Z",
        "last_modified_time": "2022-07-09T19:09:46Z"
      }
    },
    "funding_source_token": "my_funding_source_token",
    "jit_funding": {
      "token": "my_jit_funding_token",
      "method": "pgfs.authorization.account_verification",
      "user_token": "my_user_token",
      "acting_user_token": "my_user_token",
      "amount": 0.00
    },
    "user_token": "my_user_token",
    "currency_code": "USD"
  },
  "created_time": "2022-07-09T19:09:49Z",
  "user_transaction_time": "2022-07-09T19:09:49Z",
  "settlement_date": "2022-07-09T07:00:00Z",
  "anticipated_amount": 10.01,
  "request_amount": 0.00,
  "amount": 0.00,
  "currency_code": "USD",
  "network": "MASTERCARD",
  "subnetwork": "MASTERCARDDEBIT",
  "acquirer": {
    "institution_country": "840",
    "institution_id_code": "591987000",
    "retrieval_reference_number": "755916520361",
    "system_trace_audit_number": "046214"
  },
  "user": {
    "metadata": {}
  },
  "card": {
    "last_four": "5432",
    "metadata": {}
  },
  "fraud": {
    "network": {
      "transaction_risk_score": 53,
      "transaction_risk_score_reason_code": "19",
      "transaction_risk_score_reason_description": "Score forced to be 1 because the transaction being scored was a 04xx message"
    }
  },
  "issuer_received_time": "2022-07-09T12:09:49.796Z",
  "issuer_payment_node": "033bd94b1168d7e4f0d644c3c95e35bf",
  "network_reference_id": "MD08381635020709",
  "acquirer_reference_data": "MD0838163502",
  "card_acceptor": {
    "mid": "000457368260828",
    "mcc": "6411",
    "network_mid": "000457368260828",
    "name": "Marqeta Storefront",
    "city": "Oakland",
    "state": "CA",
    "poi": {
      "tid": "TR100000",
      "partial_approval_capable": "0",
      "cardholder_presence": "0",
      "card_presence": "1",
      "channel": "OTHER",
      "processing_type": "MAGSTRIPE",
      "pin_present": "false"
    }
  }
}

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

FieldsDescription
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

FieldsDescription
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)
anticipated_amount_supported

boolean

Optional
Validate an anticipated amount verification transaction (AAVT).

- Return a value of true if the cardholder’s balance matches or exceeds the anticipated amount.
- Return a value of false if the cardholder’s balance is below the anticipated amount.

Allowable Values:

true, false
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, BLOCKED_BY_CARDHOLDER, BLOCKED_BY_ISSUER, BLOCKED_MERCHANT_BY_CARDHOLDER, 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, SOFT_DECLINE_PIN_REQUIRED, STOP_PAYMENT, SUSPECTED_FRAUD, TRANSACTION_COUNT_LIMIT_EXCEEDED, TRANSACTION_NOT_PERMITTED

The jit_funding.address_verification.gateway object

FieldsDescription
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

FieldsDescription
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

FieldsDescription
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 / Not matched
0100 / Not matched / Match
0101 / Not matched / Not matched
0200 / Data Not Present / Match
0201 / Data Not Present / Not matched
0002 / Match / Data not present
0102 / Not matched / 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:
FieldsDescription
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
{
  "jit_funding": {
    "token": "b0a889ec-d7e2-4744-bc09-aa86b0738500",
    "method": "pgfs.authorization",
    "user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
    "amount": 1.00,
    "address_verification": {
      "gateway": {
        "on_file": {
          "street_address": "199 Elm Street Apt #3",
          "postal_code": "94612"
        },
        "response": {
          "code": "0100",
          "memo": "Address and postal code match"
        }
      }
    },
    "original_jit_funding_token": "a1a879ec-d7e2-4744-rc08-ca24b0738537",
    "tags": "groceries, 77.44, countryside foods",
    "memo": "Order # 12345 – Funding for 77.44 for employee R.Smith. 77.44 for groceries at Countryside Foods"
  }
}
JSON
{
  "jit_funding": {
    "token": "my_jit_funding_response_token",
    "method": "pgfs.authorization.account_verification",
    "user_token": "my_user_token",
    "acting_user_token": "my_user_token",
    "amount": 0.00,
    "memo": "MEMO: Fri Jul 09 12:09:50 PDT 2021",
    "tags": "TAGS: Fri Jul 09 12:09:50 PDT 2021"
  }
}

Sample response for balance inquiries

JSON
{
  "jit_funding": {
    "token": "b0a889ec-d7e2-4744-bc09-aa86b0738500",
    "method": "pgfs.balanceinquiry",
    "user_token": "0146434d-3c22-4906-a538-b61d39cf6f71",
    "balances": {
      "USD": {
        "currency_code": "USD",
        "ledger_balance": 100.00,
        "available_balance": 100.00,
        "pending_credits": 0.00
      }
    }
  }
}

Sample response for an ATM withdrawal

JSON
{
  "jit_funding": {
    "token": "6b958ef3-7e65-4e8f-9161-d0812be7a19b",
    "method": "pgfs.authorization",
    "user_token": "668f4550-4cc3-40e6-ac7e-1e70da332b3e",
    "acting_user_token": "668f4550-4cc3-40e6-ac7e-1e70da332b3e",
    "amount": 86.14,
    "tags": "auth_method=1",
    "balances": {
      "USD": {
        "currency_code": "USD",
        "ledger_balance": 86.14,
        "available_balance": 13.86
      }
    }
  }
}

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

FieldsDescription
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.reversal, pgfs.billpayment, pgfs.billpayment.capture, pgfs.billpayment.reversal, pgfs.authorization.account_verification, pgfs.product.inquiry
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

FieldsDescription
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

FieldsDescription
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

FieldsDescription
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

FieldsDescription
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 / Not matched
0100 / Not matched / Match
0101 / Not matched / Not matched
0200 / Data Not Present / Match
0201 / Data Not Present / Not matched
0002 / Match / Data Not Present
0102 / Not matched / 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

FieldsDescription
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

FieldsDescription
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

FieldsDescription
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 / Not matched
0100 / Not matched / Match
0101 / Not matched / Not matched
0200 / Data Not Present / Match
0201 / Data Not Present / Not matched
0002 / Match / Data Not Present
0102 / Not matched / 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

FieldsDescription
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

FieldsDescription
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
{
     "type": "authorization",
     "state": "PENDING",
     "token": "3fce1245-6fc8-4da6-aab2-0fb43b8a5c85",
     "user_token": "b2d2c739-a9fe-4af0-9f34-964aae4c3e31",
     "acting_user_token": "b2d2c739-a9fe-4af0-9f34-964aae4c3e31",
     "card_token": "72e72093-f7cb-45fc-aec0-35523eb52c15",
     "gpa": {
         "currency_code": "USD",
         "ledger_balance": 10.00,
         "available_balance": 0.00,
         "credit_balance": 0.00,
         "pending_credits": 0.00,
         "impacted_amount": -10.00,
         "balances": {
             "USD": {
                 "currency_code": "USD",
                 "ledger_balance": 10.00,
                 "available_balance": 0.00,
                 "credit_balance": 0.00,
                 "pending_credits": 0.00,
                 "impacted_amount": -10.00
             }
         }
     },
     "gpa_order": {
         "token": "097f4264-54f0-4c1d-8f5c-a85b2f83d787",
         "amount": 10.00,
         "created_time": "2022-07-10T18:13:26Z",
         "last_modified_time": "2022-07-10T18:13:26Z",
         "transaction_token": "0ca8d264-6f6b-46fa-a6f7-21ec6342a76e",
         "state": "PENDING",
         "response": {
             "code": "0000",
             "memo": "Approved or completed successfully"
         },
         "funding": {
             "amount": 10.00,
             "source": {
                 "type": "programgateway",
                 "token": "**********4ebf",
                 "active": true,
                 "name": "PGFS for simulating transactions",
                 "is_default_account": false,
                 "created_time": "2022-07-10T18:13:25Z",
                 "last_modified_time": "2022-07-10T18:13:25Z"
             },
             "gateway_log": {
                 "order_number": "3fce1245-6fc8-4da6-aab2-0fb43b8a5c85",
                 "transaction_id": "your-jit-funding-token",
                 "message": "Approved or completed successfully",
                 "duration": 244,
                 "timed_out": false,
                 "response": {
                     "code": "200",
                     "data": {
                         "jit_funding": {
                             "token": "your-jit-funding-token",
                             "method": "pgfs.authorization",
                             "user_token": "your-jit-funding-user",
                             "amount": 10.00,
                             "original_jit_funding_token": "your-jit-funding-token"
                         }
                     }
                 }
             }
         },
         "funding_source_token": "**********4ebf",
         "jit_funding": {
             "token": "b6086727-1513-419e-8b11-c550572274ce",
             "method": "pgfs.authorization",
             "user_token": "b2d2c739-a9fe-4af0-9f34-964aae4c3e31",
             "acting_user_token": "b2d2c739-a9fe-4af0-9f34-964aae4c3e31",
             "amount": 10.00
         },
         "user_token": "b2d2c739-a9fe-4af0-9f34-964aae4c3e31",
         "currency_code": "USD"
     },
     "duration": 426,
     "created_time": "2022-07-10T18:13:26Z",
     "user_transaction_time": "2022-07-10T18:13:26Z",
     "settlement_date": "2022-07-10T00:00:00Z",
     "request_amount": 10.00,
     "amount": 10.00,
     "issuer_interchange_amount": 0.00,
     "currency_code": "USD",
     "approval_code": "736660",
     "response": {
         "code": "0000",
         "memo": "Approved or completed successfully"
     },
     "network": "VISA",
     "subnetwork": "VISANET",
     "acquirer_fee_amount": 0.00,
     "acquirer": {
         "system_trace_audit_number": "035956"
     },
     "user": {
         "metadata": {}
     },
     "card": {
         "metadata": {}
     },
     "card_security_code_verification": {
         "type": "CVV1",
         "response": {
             "code": "0000",
             "memo": "Card security code match"
         }
     },
     "fraud": {
         "network": {
             "transaction_risk_score": 86,
             "account_risk_score": 2
         }
     },
     "card_acceptor": {
         "mid": "11111",
         "mcc": "6411",
         "name": "Aegis Fleet Services",
         "street_address": "111 Main St",
         "city": "Berkeley",
         "state": "CA",
         "postal_code": "94702",
         "country_code": "USA"
     },
     "pos": {
         "partial_approval_capable": true,
         "purchase_amount_only": false,
         "is_recurring": false
     }
 }

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
{
  "jit_funding": {
    ...
    "tags": "travel, gas, 32.45, vegas",
    "memo": "Order # 12345 -  Funding for employee M.Jones. $32.45 in gas for conference in Vegas."
  }
}
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
{
  "token": "8f5067b5-9c04-4ecb-818e-3c215182b935",
  "type": "authorization",
  "state": "PENDING",
  "duration": 502,
  "amount": 9.88,
  "response": {
    "code": "0000",
    "memo": "Approved or completed successfully"
  },
  // ... snip ...
  "gpa_order": {
    // ... snip ...
      "gateway_log": {
        "message": "Approved or completed successfully",
        "duration": 377,
        "order_number": "8984484",
        "transaction_id": "4674c07b-23f7-45a5-bc04-95efdc2fe45b",
        "timed_out": false,
        "response": {
          "code": "200",
          "data": {
            "jit_funding": {
              "token": "4674c07b-23f7-45a5-bc04-95efdc2fe45b",
              "method": "pgfs.authorization",
              "amount": 9.88,
              "user_token": "132076",
              "tags": "travel, gas, 32.45, vegas",
              "memo": "Order # 12345 -  Funding for employee M.Jones. $32.45 in gas for conference in Vegas."
            }
          }
        }
      }
    // ... snip ...
  // ... snip ...
}