> ## Documentation Index
> Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 2020 Release Notes

> Release notes are a convenient, central location to learn about the new features, improvements, and documentation changes in each of Marqeta's products.

<Badge color="yellow">Hidden</Badge>

<h2 id="_december_2020">
  December 2020
</h2>

<h3 id="_new_features">
  New features
</h3>

<h4 id="_new_transaction_timeline_tool_added_to_sandbox_accounts">
  New Transaction Timeline tool added to sandbox accounts
</h4>

The new [Transaction Timeline](https://app.marqeta.com/development/transaction-timeline) tool has been added to all sandbox accounts. The Transaction Timeline tool helps newcomers to the Marqeta platform quickly understand the role played by transaction flows in their integration, as well as in the broader payments space. It demonstrates line-by-line how individual transactions impact each other, and how they affect the account balance.

After simulating at least one transaction in your sandbox, access the Transaction Timeline by logging into the [Marqeta Dashboard](https://app.marqeta.com/). Enter one of your card tokens in the Transaction Timeline to generate a history of all the transactions completed on that card.

<h3 id="_changed_functionality">
  Changed functionality
</h3>

<h4 id="_increased_flexibility_for_expedited_shipping_and_expedited_processing_time">
  Increased flexibility for expedited shipping and expedited processing time
</h4>

Expedited shipping and expedited processing time are configured independently when fulfilling card orders:

* To specify expedited shipping for card orders, use the `fulfillment.shipping.method` field when creating card products in the `/cardproducts` endpoint, when creating cards in the `/cards` endpoint, and when creating bulk orders in the `/bulkissuance` endpoint.
* To specify expedited processing time—which shortens the time allocated to a card provider to process, pull, personalize, and pack cards into envelopes—set the `expedite` field in the `/bulkissuance` and `/card` endpoints to `true`. This expedited service is newly available for cards fulfilled by [Arroweye Solutions](https://www.arroweye.com/). It was previously available only for [Perfect Plastic Printing](http://perfectplastic.com/) and [IDEMIA](http://www.idemia.com).

<h4 id="_simplified_shipping_options_for_card_fulfillment">
  Simplified shipping options for card fulfillment
</h4>

When ordering cards from [Arroweye Solutions](https://www.arroweye.com/), you can select from the following generic shipping options:

* `LOCAL_MAIL` (not available for bulk orders, tracking not included)
* `GROUND` (bulk orders only, tracking included)
* `TWO_DAY` (tracking included)
* `OVERNIGHT` (tracking included)
* `INTERNATIONAL` (tracking included)

These options specify shipping companies and services available from the card provider. They were previously available only from [Perfect Plastic Printing](http://perfectplastic.com/) and [IDEMIA](http://www.idemia.com).

For details on which shipping companies and services are offered by each card provider, contact your Marqeta representative.

<h3 id="_notable_documentation_changes">
  Notable documentation changes
</h3>

<h4 id="_new_look_for_marqeta_docs">
  New look for Marqeta Docs
</h4>

The Docs site has undergone a top-to-bottom design update that aligns it with Marqeta's current aesthetic, as seen in the Marqeta Dashboard and elsewhere. The fresh look-and-feel includes design components, colors, fonts, and other elements. The site's content and organization remain unchanged.

<h4 id="_improved_performance_of_api_explorer_widgets">
  Improved performance of API Explorer widgets
</h4>

The API Explorer has been updated to use a new custom API widget that is already available in Core API reference pages.

The enhanced interactive widget resolves a major issue whereby endpoints with required query parameters did not behave as expected.

<h2 id="_november_2020">
  November 2020
</h2>

<h3 id="_changed_functionality_2">
  Changed functionality
</h3>

<h4 id="_3d_secure_now_generally_available">
  3D Secure now generally available
</h4>

3D Secure is now available for use by all Marqeta customers. The Marqeta 3D Secure platform supports the latest versions of 3D Secure for Visa and Mastercard:

* For Visa the Marqeta 3D Secure platform supports 3DS 2.2.0
* For Mastercard the Marqeta 3D Secure platform supports supports 3D Secure 2.1+

For more information about 3D Secure, see [https://www.marqeta.com/platform/3d-secure](https://www.marqeta.com/platform/3d-secure).

<h4 id="_new_fields_for_multiple_clearings_in_visa_transactions">
  New fields for multiple clearings in Visa transactions
</h4>

For Visa transactions that include multiple clearing events for a single authorization, Marqeta now includes two new fields in the clearing webhooks: `multi_clearing_sequence_count` and `multi_clearing_sequence_number`.

<h4 id="_new_fields_for_contactless_point_of_sale_transaction_exemptions">
  New fields for contactless point-of-sale transaction exemptions
</h4>

Gateway JIT and transaction webhook payloads now include two new fields: `contactless_exemption_counter` and `contactless_exemption_total_amount`. You can use the information in these fields to notify your users that they are approaching their no-PIN limit for contactless transactions.

<h4 id="_new_card_token_field_for_digital_wallet_token_transitions">
  New card token field for digital wallet token transitions
</h4>

Digital wallet token transition webhooks and `GET /digitalwallettokentransitions` responses can now include the `card_token` field. This new field contains the UUID of the card associated with the digital wallet token. This new field is not included by default. To enable receipt of this field, contact your Marqeta account representative.

<h4 id="_atm_transactions_now_specify_the_account_type">
  ATM transactions now specify the account type
</h4>

ATM transactions now include the `from_account` field in Gateway JIT and transaction webhooks. This new field specifies the type of account the transaction draws from, such as `CHECKING` or `SAVINGS`. You can use this account-specific information to improve your ledger management. For a full list of account type values, contract your Marqeta account representative.

<h4 id="_support_for_gateway_jit_account_verification_requests">
  Support for Gateway JIT account verification requests
</h4>

You can now send account verification requests or "\$0 authorizations" to your JIT gateway to take advantage of your Gateway JIT decisioning flow. You can approve such verification requests, or decline them using the `decline_reason` codes specified on the [Gateway JIT Funding Messages](/docs/core-api/gateway-jit-funding-messages/#_the_jit_funding_object_2) API reference page.

<h4 id="_new_3d_secure_and_digital_wallet_token_cardholder_otp_notification_language_support">
  New 3D Secure and digital wallet token cardholder OTP notification language support
</h4>

You can now send your cardholders one-time passcode (OTP) notifications in German and Swedish.

<h4 id="_improved_handling_of_mastercard_cashback_advice_transactions">
  Improved handling of Mastercard Cashback advice transactions
</h4>

Marqeta now processes Mastercard Cashback financial advice transactions successfully. Marqeta processes these transactions as `pindebit.authorization.clearing` transactions, and includes them in transaction webhooks. The included `amount_to_be_released` field indicates the amount to be released from the previous `pindebit.authorization` transaction.

<h4 id="_state_field_now_supports_more_than_two_characters">
  State field now supports more than two characters
</h4>

The `state` field in the `/cards`, `/cardproducts`, `/bulkissuances` and `/users` APIs now supports more than two characters, allowing customers to correctly enter non-US addresses.

<h4 id="_velocity_control_tokens_in_decline_webhooks">
  Velocity control tokens in decline webhooks
</h4>

In cases where no name is associated with a velocity control, decline webhooks now include the velocity control token in the `response.additional_information` field.

<h4 id="_fixed_issue_with_decline_transactions_webhooks">
  Fixed issue with decline transactions webhooks
</h4>

This release fixes an issue that caused decline transactions webhooks to remain unsent in some cases.

<h4 id="_fixed_issue_with_maestro_transactions">
  Fixed issue with Maestro transactions
</h4>

This release fixes an issue that caused some Maestro transactions approved by the Marqeta platform to be declined at the point of sale.

<h4 id="_fixed_issue_with_gateway_jit_balance_inquiries">
  Fixed issue with Gateway JIT balance inquiries
</h4>

This release fixes an issue with incorrectly formatted Gateway JIT balance inquiries. Balance inquiries formatted as whole numbers rather than decimals are now handled correctly.

<h2 id="_october_2020">
  October 2020
</h2>

<h3 id="_changed_functionality_3">
  Changed functionality
</h3>

<h4 id="_improvements_to_the_direct_deposit_detail_transaction_report">
  Improvements to the Direct Deposit Detail Transaction Report
</h4>

All direct deposit returns now appear in the Direct Deposit Detail Transaction Report, which is available via the [Marqeta Dashboard](https://app.marqeta.com/reports). This report is a helpful resource when reconciling funds movement and addressing customer concerns.

<h3 id="_notable_documentation_changes_2">
  Notable documentation changes
</h3>

<h4 id="_redesigned_errors_page">
  Redesigned Errors page
</h4>

The [Core API Errors](/docs/core-api/errors/) page has been restructured so that it lists all error codes in ascending numerical order. Cross-references linking the Core API and DiVA API Errors pages were added for improved navigation.

The error codes are divided into numeric ranges to make the Errors page easier to load and scroll.

<h4 id="_new_card_network_certifications_page">
  New Card Network Certifications page
</h4>

The new [Card Network Certifications](/docs/developer-guides/card-network-certifications/) page shows certification information for the most current card network releases, as well as any relevant changes you should take into account.

<h2 id="_september_2020">
  September 2020
</h2>

<h3 id="_changed_functionality_4">
  Changed functionality
</h3>

<h4 id="_better_handling_of_rejected_direct_deposit_transactions">
  Better handling of rejected direct deposit transactions
</h4>

When the Marqeta platform detects that an incoming ACH transaction will cause an account's balance to exceed the maximum load limit, it now properly creates the corresponding Direct Deposit and Direct Deposit Transition entries. In addition, the transaction's status is now set to `DECLINED` instead of `COMPLETION`. Together, these enhancements allow for more graceful handling of large transactions and bring greater visibility to certain transactions that were previously rejected by the Marqeta platform.

If your implementation relies on consuming transaction log webhooks, you must integrate this logic change in the transaction status. Simply put, you must be able to handle `DECLINED` in the transaction state object (and webhook state) when a maximum final balance exception occurs, as shown in the examples below. Previously, these transactions were in the `COMPLETION` state, even though they were `declined`, which changes existing behavior.

<h5 id="_transaction_state_object">
  Transaction state object
</h5>

```json JSON lines wrap theme={null}
{
  "token": "00acce2b-cead-45ab-9417-f8a62326c0d5",
  "amount": 10001.00,
  "type": "CREDIT",
  "state": "REJECTED",
  "settlement_date": "2020-10-21T00:00:00Z",
  "state_reason": "Final MaxBalance Rule",
  "state_reason_code": "R23",
  "direct_deposit_account_token": "7e9d9519-eb07-4ccd-9a6f-055547da326c",
  "user_token": "my_user",
  "created_time": "2020-10-20T21:02:37Z",
  "last_modified_time": "2020-10-20T21:02:37Z",
  "standard_entry_class_code": "WEB",
  "company_name": "COMPANY_NAME",
  "company_discretionary_data": "",
  "company_identification": "9876543210",
  "company_entry_description": "PURCHASE",
  "individual_identification_number": "1234567890",
  "individual_name": "JOHN SMITH"
}
```

<h5 id="_webhook">
  Webhook
</h5>

```json JSON expandable lines wrap theme={null}
{"transactions":[{
  "type" : "directdeposit.credit.pending",
  "state" : "DECLINED",
  "identifier" : "84218",
  "token" : "37768c5e-ead2-431e-83a7-d2bce5b481bc",
  "user_token" : "8dc24964-8aaa-4168-8444-30a2e5abdcf3",
  "acting_user_token" : "964ff296-5c98-4199-840d-674a0cbc0227",
  "card_token" : "e1bea9a0-a080-48c8-b13d-2f6b04cfa820",
  "gpa" : {
    "currency_code" : "USD",
    "ledger_balance" : 0.00,
    "available_balance" : 0.00,
    "credit_balance" : 0.00,
    "pending_credits" : 10001.00,
    "balances" : {
      "USD" : {
        "currency_code" : "USD",
        "ledger_balance" : 0.00,
        "available_balance" : 0.00,
        "credit_balance" : 0.00,
        "pending_credits" : 10000.01
      }
    }
  },
  "duration" : 115,
  "created_time" : "2020-10-22T16:21:25Z",
  "user_transaction_time" : "2020-10-22T16:21:25Z",
  "request_amount" : 10000.01,
  "amount" : 10000.01,
  "currency_code" : "USD",
  "response" : {
    "code" : "1016",
    "memo" : "Not sufficient funds"
  },
  "direct_deposit" : {
    "token" : "7a5eea92-1383-4c25-9651-69983144901b",
    "amount" : 10000.01,
    "type" : "CREDIT",
    "state" : "REJECTED",
    "settlement_date" : "2020-10-23T00:00:00Z",
    "state_reason" : "FinalMaxBalance rule for account 21.0000000001.00 failed. balance=10000.01, impact=10000.01, max-balance=10000.00",
    "state_reason_code" : "R23",
    "direct_deposit_account_token" : "5ab78231-e266-4433-92e7-8886cbec2220",
    "user_token" : "964ff296-5c98-4199-840d-674a0cbc0227",
    "created_time" : "2020-10-22T16:21:25Z",
    "last_modified_time" : "2020-10-22T16:21:25Z",
    "standard_entry_class_code" : "PPD",
    "company_name" : "VARNEY GMC",
    "company_discretionary_data" : "",
    "company_identification" : "9200838750",
    "company_entry_description" : "PAYROLL",
    "individual_identification_number" : "000005662",
    "individual_name" : "DUPUIS, PATRICE"
  },
    ...
  }]}
```

<h4 id="_improved_sandbox_experience_for_new_users">
  Improved sandbox experience for new users
</h4>

It is now even faster to get started with the Marqeta platform. New users who [sign up](https://auth.marqeta.com/create-account) receive a sandbox that comes equipped with a predefined card product based on common default values. Working straightaway with a predefined card product enables developers to try out the Marqeta platform's core technology and successfully complete the Quick Start guide in fewer steps.

<h4 id="_strong_customer_authentication_limits_for_contactless_points_of_sale">
  Strong Customer Authentication limits for contactless points of sale
</h4>

Marqeta now supports strong customer authentication (SCA) at contactless points of sale, per European Banking Authority PSD2 Articles 11 and 12. All European customers are required to support these articles. Customers in other regions can also use this feature for additional control over contactless payments.

You can set SCA limits for contactless points of sale at the card product level. To learn more about this feature, see `strong_customer_authentication_limits` in [the config.transaction\_controls object](/docs/core-api/card-products/).

<h4 id="_dynamic_currency_conversion_indicator_now_included_for_visa_transactions">
  Dynamic Currency Conversion Indicator now included for Visa transactions
</h4>

The Dynamic Currency Conversion Indicator is now included for Visa transactions in Gateway JIT requests, webhooks, and the transactions API. This indicator appears in the new `dynamic_currency_conversion` field in the `currency_conversion.network` object. If the merchant or ATM acquirer performs currency conversion at a point of sale or at an ATM terminal, this field is set to `true`.

<h4 id="_current_state_of_card_ignored_for_credit_voucher_and_online_refund_transactions">
  Current state of card ignored for credit voucher and online refund transactions
</h4>

For credit voucher and online refund transactions, the card's current state is now ignored when receiving refunds. This change allows one-time use cards to receive refunds. Allowing the receipt of refunds on suspended cards can cause additional issues and should only be enabled if you agree to the associated risk.

<h4 id="_fixed_pulse_transactions_issue">
  Fixed Pulse transactions issue
</h4>

This release fixes an issue that caused some Pulse transactions to be tagged as incremental and not process correctly.

<h4 id="_fixed_zion_api_issue">
  Fixed Zion API issue
</h4>

This release fixes an issue with Zion API timeouts that caused internal errors.

<h4 id="_state_field_no_longer_required_for_international_addresses">
  State field no longer required for international addresses
</h4>

The `state` field in addresses is now optional on the `/card`, `/user`, and `/cardproduct` endpoints.

<h3 id="_notable_documentation_changes_3">
  Notable documentation changes
</h3>

<h4 id="_new_developer_guide_configuring_3d_secure_otp_notification_languages">
  New developer guide: Configuring 3D Secure OTP Notification Languages
</h4>

A new developer guide is available that documents how to configure 3D Secure one-time passcode notifications in local languages for your cardholders. See [Configuring 3D Secure OTP Notification Languages](/docs/developer-guides/configuring-notification-languages/).

<h2 id="_august_2020">
  August 2020
</h2>

<h3 id="_changed_functionality_5">
  Changed functionality
</h3>

<h4 id="_localized_3ds_one_time_passcode_otp_notifications">
  Localized 3DS one-time passcode (OTP) notifications
</h4>

You can configure 3DS OTP messages for your cardholders in French, Italian, Spanish, Polish, and Czech. The localized language for these messages can be configured at the card product or user level.

To learn more, see [the config transaction controls object](/docs/core-api/card-products/) and [the metadata object](/docs/core-api/users/).

<h4 id="_additional_3ds_parameters_in_gateway_jit_and_authorization_webhooks">
  Additional 3DS parameters in Gateway JIT and Authorization webhooks
</h4>

Gateway JIT and Authorization webhooks now include additional 3DS parameters to help you make better decisions during authorization based on 3DS authentication details:

* The `cardholder_authentication_data.three_ds_message_version` field contains the message version of the 3DS protocol used during cardholder authentication.
* The `cardholder_authentication_data.authentication_method` field contains the authentication method used for cardholder authentication.
* The `cardholder_authentication_data.authentication_status` field contains the status of the cardholder authentication.

<h4 id="_new_code_for_questionable_ach_entries">
  New code for questionable ACH entries
</h4>

Reason code R17 is an optional new code available to RDFIs. Use this code when an ACH entry may have been initiated under questionable circumstances. When you return an entry using R17, you must add `"QUESTIONABLE"` to the return's Addenda Information field. See [ACHR return reason codes](/docs/developer-guides/achr-return-reason-codes/#_reason_codes_table) for the full list of supported codes and the grace period associated with each.

<h4 id="_more_flexible_settings_for_expedited_shipping_and_expedited_processing">
  More flexible settings for expedited shipping and expedited processing
</h4>

For card fulfillment, you now set expedited shipping and expedited processing time separately. To specify expedited processing time, which shortens the time it takes for a card provider to process, pull, personalize, and pack cards into envelopes, set the `expedite` field in the `/bulkissuance` and `/card` endpoints to `true`. This expedited service is available only for cards fulfilled by [Perfect Plastic Printing](http://perfectplastic.com/) and [IDEMIA](http://www.idemia.com).

To specify expedited shipping for card orders, use the `fulfillment.shipping.method` field when creating card products in the `/cardproducts` endpoint, when creating cards in the `/cards` endpoint, and when creating bulk orders in the `/bulkissuance` endpoint.

<h4 id="_simplified_shipping_options_for_card_fulfillment_2">
  Simplified shipping options for card fulfillment
</h4>

When ordering cards from providers [Perfect Plastic Printing](http://perfectplastic.com/) and [IDEMIA](http://www.idemia.com), you can now select from the following generic shipping options:

* `LOCAL_MAIL` (not available for bulk orders, tracking not included)
* `GROUND` (bulk orders only, tracking included)
* `TWO_DAY` (tracking included)
* `OVERNIGHT` (tracking included)
* `INTERNATIONAL` (tracking included)

These options specify shipping companies and services available from the card provider.

For details on specific mapping of shipping companies and services and card providers, contact your Marqeta representative.

<h3 id="_notable_documentation_changes_4">
  Notable documentation changes
</h3>

<h4 id="_redesigned_api_keys_page_in_the_marqeta_dashboard">
  Redesigned API Keys page in the Marqeta Dashboard
</h4>

The API Keys page has been redesigned to help new developers know what to do with their API keys once they receive them. Improvements include field-level descriptions, a link to the documentation on authentication, and a "Hello, World!" cURL that provides a personalized example of how credentials are used in the console.

<h4 id="_improved_swagger_widgets">
  Improved Swagger widgets
</h4>

The interactive elements that enable you to make calls to our API directly from the website have been redesigned with an overall cleaner design and heightened usability. These elements are available in the [Core API Quick Start](/docs/developer-guides/core-api-quick-start/), [all API references pages](/docs/core-api/introduction/), and the API Explorer.

<h2 id="_july_2020">
  July 2020
</h2>

<h3 id="_changed_functionality_6">
  Changed functionality
</h3>

<h4 id="_new_reason_code_to_indicate_stolen_cards">
  New reason code to indicate stolen cards
</h4>

The Marqeta platform now includes separate card transition reason codes for lost and stolen cards. The existing reason code 10 now applies only to lost cards, and the new reason code 23 applies to stolen cards. See [Create card transition](/docs/core-api/card-transitions/#post_cardtransitions)

<h4 id="_new_field_to_indicate_mail_ordertelephone_order_moto_transactions_in_webhooks">
  New field to indicate mail order/telephone order (MOTO) transactions in webhooks
</h4>

Authorization, clearing, and Gateway JIT request webhooks now include the `transaction_metadata.moto_indicator` field to indicate MOTO transactions. Possible values for this field are `MANUAL`, `RECURRING`, `INSTALLMENT`, and `OTHERS`. This change applies to version two of the Transaction Model.

<h4 id="_new_field_to_indicate_installment_transactions_in_webhooks">
  New field to indicate installment transactions in webhooks
</h4>

Authorization, clearing, and Gateway JIT request webhooks now include the `pos.is_installment` field to indicate installment transactions.

<h4 id="_credit_voucher_and_online_refund_transaction_enhancements">
  Credit voucher and online refund transaction enhancements
</h4>

You can now ignore the suspended state of a card for credit voucher and online refund transactions. Be aware that allowing suspended cards to receive funds entails the associated risk of causing additional issues.

<h4 id="_acquiring_reference_identifier_updated_for_visa_clearing_webhooks">
  Acquiring reference identifier updated for Visa clearing webhooks
</h4>

For Visa transactions, the `acquiring_reference_id` field now uses the six-digit acquirer reference identifier in clearing webhooks.

<h4 id="_updated_handling_of_incremental_authorizations_for_mastercard">
  Updated handling of incremental authorizations for Mastercard
</h4>

For Mastercard transactions, some merchants send incremental authorizations after the original authorization was cleared or reversed. These incremental authorizations could not be cleared or expired, which negatively impacted cardholders. The Marqeta platform now processes such transactions as standard authorizations that are cleared or expired based on the actions of the merchant.

<h4 id="_offline_pin_script_issue_fixed">
  Offline PIN script issue fixed
</h4>

An issue occasionally caused an incorrect reset of the offline PIN script flag, which then forced cardholders to reset their PIN multiple times. This issue is fixed in this release.

<h4 id="_zero_amount_authorization_with_cashback_issue_fixed">
  Zero-amount authorization with cashback issue fixed
</h4>

Some zero-amount authorizations with cashback amounts did not work correctly, impacting the cardholders balance but not allowing them to get cash. This issue is fixed in this release.

<h4 id="_bulk_order_shipping_options_clarified">
  Bulk order shipping options clarified
</h4>

`USPS_Regular` is no longer available for bulk card orders. In the past, you could select `USPS_Regular`, and this selection would automatically convert to `FedEx_Expedited` to support tracking information for bulk orders.

<h2 id="_june_2020">
  June 2020
</h2>

<h3 id="_changed_functionality_7">
  Changed functionality
</h3>

<h4 id="_improved_handling_of_mismatched_authorizations_and_clearings">
  Improved handling of mismatched authorizations and clearings
</h4>

Transactions for identical amounts at the same merchant occasionally are mismatched with their reference identifiers. This enhancement provides additional data to help you determine the correct authorization for a given transaction.

<h4 id="_missing_pin_present_field_added_to_swagger">
  Missing `pin_present` field added to Swagger
</h4>

The `pin_present` is now included in Swagger with this release.

<h4 id="_clearing_webhooks_included_incorrect_data_in_the_original_amount_field_for_some_visa_transactions">
  Clearing webhooks included incorrect data in the `original_amount` field for some Visa transactions
</h4>

Clearing webhooks for Visa transactions now include the correct data in the `original_amount` field of the `currency_conversion` object.

<h4 id="_clearing_webhooks_included_incorrect_data_for_cross_border_issuer_fees_for_some_visa_transactions">
  Clearing webhooks included incorrect data for cross-border issuer fees for some Visa transactions
</h4>

Clearing webhooks for Visa transactions now include the correct data for the `CROSS_BORDER_ISSUER_FEE`.

<h3 id="_notable_documentation_changes_5">
  Notable documentation changes
</h3>

<h4 id="_wording_change_master_access_token_renamed_admin_access_token">
  Wording change: "master access token" renamed "admin access token"
</h4>

This change is implemented throughout Marqeta documentation.

<h2 id="_may_2020">
  May 2020
</h2>

<h3 id="_changed_functionality_8">
  Changed functionality
</h3>

<h4 id="_new_decline_reason_field_in_gateway_jit_response">
  New `decline_reason` field in Gateway JIT response
</h4>

The `decline_reason` field lets you specify the reason why a Gateway JIT Funding transaction was rejected. This field is optional. If you do not include this field in your Gateway JIT Funding response, the transaction is declined with the reason "insufficient funds." The new decline reasons are mapped to the relevant card network response codes. See [Gateway JIT Funding Messages](/docs/core-api/gateway-jit-funding-messages/).

<h4 id="_new_jit_funding_transaction_response_codes">
  New JIT Funding transaction response codes
</h4>

Several new JIT Funding codes, available as transaction response codes, provide more clarity about JIT Funding decisions for transactions. See [transaction response codes](/docs/developer-guides/about-transactions/#_transaction_response_codes).

<h4 id="_added_support_for_compressed_avs_data_for_mastercard_avs_processing">
  Added support for Compressed AVS Data for Mastercard AVS processing
</h4>

Compressed AVS data is commonly used by United Kingdom and European Union merchants during tokenization.

<h4 id="_new_pin_present_field_in_transaction_model_v2">
  New `pin_present` field in Transaction Model v2
</h4>

This field indicates whether a PIN was entered during a transaction, and appears in Gateway JIT calls, transaction webhooks, and `GET /transactions`.

<h4 id="_new_notification_email_field_in_user_metadata">
  New `notification_email` field in `user.metadata`
</h4>

This email address can receive one-time passcodes for 3DS authentication. It is useful when the `user.email` field is null or not set. Send a `PUT` or `POST` request to `/users` to set this metadata.

<h4 id="_visa_chargeback_representment_webhooks_original_amount_issue_resolved">
  Visa chargeback representment webhooks original amount issue resolved
</h4>

Visa chargeback representment webhooks no longer include incorrect original amounts in the `currency_conversion` object.

<h4 id="_gateway_jit_and_transaction_webhooks_no_longer_receive_cardholder_authentication_data">
  Gateway JIT and transaction webhooks no longer receive `cardholder_authentication_data`
</h4>

The `cardholder_authentication_data` object in Gateway JIT and transaction webhooks was being sent unnecessarily for tokenized transactions. This object will now be sent only for transactions where 3DS authentication is attempted.

<h3 id="_easier_direct_deposit_return_handling">
  Easier direct deposit return handling
</h3>

You can now return direct deposits directly from the cardholder transaction table in apps.marqeta.com, which simplifies the direct deposit returns workflow. To return a transaction, choose an applicable return reason code from the list, then enter a description.

<h3 id="_notable_documentation_changes_6">
  Notable documentation changes
</h3>

<h4 id="_new_developer_guide_for_personal_identification_numbers_pins">
  New developer guide for personal identification numbers (PINs)
</h4>

This new guide covers resetting the PIN retry counter and modifying a program's PIN retry limit value. It also includes a PIN retry flow that explains how to intervene when a cardholder's card has been locked out after reaching the maximum number of unsuccessful PIN retries. For details, see [About Personal Identification Numbers](/docs/developer-guides/pins/).

<h4 id="_new_api_reference_page_for_the_acceptedcountries_endpoint">
  New API reference page for the `/acceptedcountries` endpoint
</h4>

See [Accepted Countries](/docs/core-api/accepted-countries/).

<h3 id="_new_documentation_for_visa_cases_beta">
  New documentation for Visa Cases (Beta)
</h3>

For guidance and reference information about the Cases API for Visa, see [Managing Visa Cases (Beta) Developer Guide](/docs/developer-guides/managing-visa-disputes/) and [Cases (Visa) (Beta) API Reference](/docs/core-api/disputes-visa/).

<h2 id="_april_2020">
  April 2020
</h2>

<h3 id="_changed_functionality_9">
  Changed functionality
</h3>

<h4 id="_for_the_accepted_countries_endpoint_post_and_put_are_newly_restricted_to_admin_users_only">
  For the `accepted_countries` endpoint, `POST` and `PUT` are newly restricted to Admin users only
</h4>

Other roles can retrieve the list of accepted countries, but cannot change its contents. With this change, the API Explorer will no longer show `POST` and `PUT` calls for this endpoint.

<h4 id="_webhooks_provide_spend_control_details_for_declined_transactions">
  Webhooks provide spend control details for declined transactions
</h4>

You can configure the Marqeta platform to send a webhook whenever a transaction is declined. If a spend control is responsible for declining the transaction, the webhook sent now includes the `additional_information` field. This field contains the name of the spend control responsible for the transaction being declined. To learn more, read [Controlling Spending](/docs/developer-guides/controlling-spending/).

<h4 id="_last_four_digits_of_pan_displayed_in_digital_wallets_during_pan_swap_functions">
  Last four digits of PAN displayed in digital wallets during PAN swap functions
</h4>

The Mobile Wallet UI now displays the last four digits of the card PAN during PAN swap functions for Mastercard. Previously, the PAN swap was occurring successfully, but was not reflected in the Mobile Wallet UI.

<h4 id="_improved_support_for_long_business_names">
  Improved support for long business names
</h4>

Long business names (up to 255 characters) are now supported when creating or updating a business' payment card information. To learn more, read [Businesses](/docs/core-api/businesses/#post_businesses).

<h3 id="_notable_documentation_changes_7">
  Notable documentation changes
</h3>

<h4 id="_new_and_updated_sections_in_the_ledger_management_with_jit_funding_guide">
  New and updated sections in the Ledger Management with JIT Funding guide
</h4>

* New section [JIT Funding message types](/docs/developer-guides/ledger-management-with-jit-funding/#_jit_funding_message_types) describes how the JIT Funding message types relate to your ledger.
* New section [Balances in Gateway JIT Funding responses](/docs/developer-guides/ledger-management-with-jit-funding/#_balances_in_gateway_jit_funding_responses) explains how to send information from your ledger in response to a balance inquiry.
* New section [Example chargebacks scenario](/docs/developer-guides/ledger-management-with-jit-funding/#_example_chargeback_scenario) shows sample webhook notifications as they would appear in a chargeback scenario.
* The [Ledger-impacting transaction events](/docs/developer-guides/ledger-management-with-jit-funding/#_ledger_impacting_transaction_events) section added a new table column indicating whether the transaction event was sent in a temporary or final transaction message.

<h2 id="_march_2020">
  March 2020
</h2>

<h3 id="_new_features_2">
  New features
</h3>

<h4 id="_visa_and_mastercard_have_added_new_token_requestor_names">
  Visa and Mastercard have added new token requestor names
</h4>

Visa and Mastercard have added a number of new token requestors as a response to increased tokenization by e-commerce merchants. These token requestors have unique token requestor IDs and use `unknown` as the token requestor name.

We are currently creating specific, more accurate names for approximately 200 new token requestors on the Marqeta platform. For details, see the [`token_service_provider`](/docs/core-api/digital-wallets-management/) object of `GET /digitalwallettokens/{token}`.

Because the list of token requestor names may change, we recommend not hardcoding against specific values for token requestor names.

<h4 id="_financial_advice_authorization_clearing_events_include_amount_to_be_released">
  Financial advice authorization clearing events include amount to be released
</h4>

Financial advice `authorization.clearing` transaction events include a new field, `amount_to_be_released`. This field is useful for automated fuel dispenser (AFD) transactions, where the authorization may be for a fixed amount higher than the actual amount cleared.

You can use this field to update your ledgers to reflect the actual amount more quickly, then release the excess funds back to your customer. For details, see [Transaction Events](/docs/core-api/event-types/#_transaction_events).

<h4 id="_velocity_controls_supported_for_dual_message_withdrawal_transactions">
  Velocity controls supported for dual-message withdrawal transactions
</h4>

Velocity controls that apply to cash withdrawals now support dual-message withdrawal transactions, which are common in the European Union.

Previously, any velocity controls that excluded purchases from consideration also did not limit cash withdrawals. For details, see [Controlling Spending](/docs/developer-guides/controlling-spending/).

<h3 id="_changed_functionality_10">
  Changed functionality
</h3>

<h4 id="_state_of_digital_wallet_tokens_reflected_in_wallets">
  State of digital wallet tokens reflected in wallets
</h4>

Digital wallets now update to reflect the status of their digital wallet tokens when a token is suspended or resumed. Previously, suspended tokens appeared active, but their transactions would decline.

Suspended tokens now appear as unavailable for payment in their digital wallets.

<h3 id="_notable_documentation_changes_8">
  Notable documentation changes
</h3>

<h4 id="_new_ledger_management_developer_guide">
  New ledger management developer guide
</h4>

The [Ledger Management for JIT Funding](/docs/developer-guides/ledger-management-with-jit-funding/) guide describes how to use information contained in JIT messages to help manage your account ledgers, which transaction events impact the ledger, and best practices for ledger management.

<h4 id="_newly_documented_fields_in_transaction_response_model">
  Newly documented fields in transaction response model
</h4>

Transaction type `authorization.clearing`, following a financial advice, returns these fields:

| Name                    | Description                                                                        |
| ----------------------- | ---------------------------------------------------------------------------------- |
| `amount_to_be_released` | Amount to release following a financial advice.                                    |
| `preceding_transaction` | Object containing the amount and token of the preceding authorization transaction. |

See the [Transactions](/docs/core-api/transactions/) API reference.

<h4 id="_conditionally_returned_fields_explained">
  Conditionally returned fields explained
</h4>

Core and DiVA API reference pages now describe the conditions under which the API returns all fields documented as "Conditionally returned."


## Related topics

- [Release Notes](/docs/developer-guides/release-notes-2025.md)
- [2021 Release Notes](/docs/developer-guides/release-notes-2021.md)
- [2022 Release Notes](/docs/developer-guides/release-notes-2022.md)
- [2023 Release Notes](/docs/developer-guides/release-notes-2023.md)
- [2024 Release Notes](/docs/developer-guides/release-notes-2024.md)
