December 2020
New features
New Transaction Timeline tool added to sandbox accounts
The new 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. Enter one of your card tokens in the Transaction Timeline to generate a history of all the transactions completed on that card.Changed functionality
Increased flexibility for expedited shipping and expedited processing time
Expedited shipping and expedited processing time are configured independently when fulfilling card orders:-
To specify expedited shipping for card orders, use the
fulfillment.shipping.methodfield when creating card products in the/cardproductsendpoint, when creating cards in the/cardsendpoint, and when creating bulk orders in the/bulkissuanceendpoint. -
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
expeditefield in the/bulkissuanceand/cardendpoints totrue. This expedited service is newly available for cards fulfilled by Arroweye Solutions. It was previously available only for Perfect Plastic Printing and IDEMIA.
Simplified shipping options for card fulfillment
When ordering cards from Arroweye Solutions, 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)
Notable documentation changes
New look for Marqeta Docs
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.Improved performance of API Explorer widgets
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.November 2020
Changed functionality
3D Secure now generally available
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+
New fields for multiple clearings in Visa transactions
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.
New fields for contactless point-of-sale transaction exemptions
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.
New card token field for digital wallet token transitions
Digital wallet token transition webhooks andGET /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.
ATM transactions now specify the account type
ATM transactions now include thefrom_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.
Support for Gateway JIT account verification requests
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 thedecline_reason codes specified on the Gateway JIT Funding Messages API reference page.
New 3D Secure and digital wallet token cardholder OTP notification language support
You can now send your cardholders one-time passcode (OTP) notifications in German and Swedish.Improved handling of Mastercard Cashback advice transactions
Marqeta now processes Mastercard Cashback financial advice transactions successfully. Marqeta processes these transactions aspindebit.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.
State field now supports more than two characters
Thestate field in the /cards, /cardproducts, /bulkissuances and /users APIs now supports more than two characters, allowing customers to correctly enter non-US addresses.
Velocity control tokens in decline webhooks
In cases where no name is associated with a velocity control, decline webhooks now include the velocity control token in theresponse.additional_information field.
Fixed issue with decline transactions webhooks
This release fixes an issue that caused decline transactions webhooks to remain unsent in some cases.Fixed issue with Maestro transactions
This release fixes an issue that caused some Maestro transactions approved by the Marqeta platform to be declined at the point of sale.Fixed issue with Gateway JIT balance inquiries
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.October 2020
Changed functionality
Improvements to the Direct Deposit Detail Transaction Report
All direct deposit returns now appear in the Direct Deposit Detail Transaction Report, which is available via the Marqeta Dashboard. This report is a helpful resource when reconciling funds movement and addressing customer concerns.Notable documentation changes
Redesigned Errors page
The 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.New Card Network Certifications page
The new 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.September 2020
Changed functionality
Better handling of rejected direct deposit transactions
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 toDECLINED 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.
JSON
JSON
Improved sandbox experience for new users
It is now even faster to get started with the Marqeta platform. New users who sign up 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.Strong Customer Authentication limits for contactless points of sale
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, seestrong_customer_authentication_limits in the config.transaction_controls object.
Dynamic Currency Conversion Indicator now included for Visa transactions
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 newdynamic_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.
Current state of card ignored for credit voucher and online refund transactions
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.Fixed Pulse transactions issue
This release fixes an issue that caused some Pulse transactions to be tagged as incremental and not process correctly.Fixed Zion API issue
This release fixes an issue with Zion API timeouts that caused internal errors.State field no longer required for international addresses
Thestate field in addresses is now optional on the /card, /user, and /cardproduct endpoints.
Notable documentation changes
New developer guide: Configuring 3D Secure OTP Notification Languages
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.August 2020
Changed functionality
Localized 3DS one-time passcode (OTP) notifications
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 and the metadata object.Additional 3DS parameters in Gateway JIT and Authorization webhooks
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_versionfield contains the message version of the 3DS protocol used during cardholder authentication. -
The
cardholder_authentication_data.authentication_methodfield contains the authentication method used for cardholder authentication. -
The
cardholder_authentication_data.authentication_statusfield contains the status of the cardholder authentication.
New code for questionable ACH entries
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 for the full list of supported codes and the grace period associated with each.
More flexible settings for expedited shipping and expedited processing
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 theexpedite field in the /bulkissuance and /card endpoints to true. This expedited service is available only for cards fulfilled by Perfect Plastic Printing and IDEMIA.
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.
Simplified shipping options for card fulfillment
When ordering cards from providers Perfect Plastic Printing and IDEMIA, 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)
Notable documentation changes
Redesigned API Keys page in the Marqeta Dashboard
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.Improved Swagger widgets
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, all API references pages, and the API Explorer.July 2020
Changed functionality
New reason code to indicate stolen cards
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 transitionNew field to indicate mail order/telephone order (MOTO) transactions in webhooks
Authorization, clearing, and Gateway JIT request webhooks now include thetransaction_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.
New field to indicate installment transactions in webhooks
Authorization, clearing, and Gateway JIT request webhooks now include thepos.is_installment field to indicate installment transactions.
Credit voucher and online refund transaction enhancements
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.Acquiring reference identifier updated for Visa clearing webhooks
For Visa transactions, theacquiring_reference_id field now uses the six-digit acquirer reference identifier in clearing webhooks.
Updated handling of incremental authorizations for Mastercard
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.Offline PIN script issue fixed
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.Zero-amount authorization with cashback issue fixed
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.Bulk order shipping options clarified
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.
June 2020
Changed functionality
Improved handling of mismatched authorizations and clearings
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.Missing pin_present field added to Swagger
The pin_present is now included in Swagger with this release.
Clearing webhooks included incorrect data in the original_amount field for some Visa transactions
Clearing webhooks for Visa transactions now include the correct data in the original_amount field of the currency_conversion object.
Clearing webhooks included incorrect data for cross-border issuer fees for some Visa transactions
Clearing webhooks for Visa transactions now include the correct data for theCROSS_BORDER_ISSUER_FEE.
Notable documentation changes
Wording change: “master access token” renamed “admin access token”
This change is implemented throughout Marqeta documentation.May 2020
Changed functionality
New decline_reason field in Gateway JIT response
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.
New JIT Funding transaction response codes
Several new JIT Funding codes, available as transaction response codes, provide more clarity about JIT Funding decisions for transactions. See transaction response codes.Added support for Compressed AVS Data for Mastercard AVS processing
Compressed AVS data is commonly used by United Kingdom and European Union merchants during tokenization.New pin_present field in Transaction Model v2
This field indicates whether a PIN was entered during a transaction, and appears in Gateway JIT calls, transaction webhooks, and GET /transactions.
New notification_email field in user.metadata
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.
Visa chargeback representment webhooks original amount issue resolved
Visa chargeback representment webhooks no longer include incorrect original amounts in thecurrency_conversion object.
Gateway JIT and transaction webhooks no longer receive cardholder_authentication_data
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.
Easier direct deposit return handling
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.Notable documentation changes
New developer guide for personal identification numbers (PINs)
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.New API reference page for the /acceptedcountries endpoint
See Accepted Countries.
New documentation for Visa Cases (Beta)
For guidance and reference information about the Cases API for Visa, see Managing Visa Cases (Beta) Developer Guide and Cases (Visa) (Beta) API Reference.April 2020
Changed functionality
For the accepted_countries endpoint, POST and PUT are newly restricted to Admin users only
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.
Webhooks provide spend control details for declined transactions
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 theadditional_information field. This field contains the name of the spend control responsible for the transaction being declined. To learn more, read Controlling Spending.
Last four digits of PAN displayed in digital wallets during PAN swap functions
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.Improved support for long business names
Long business names (up to 255 characters) are now supported when creating or updating a business’ payment card information. To learn more, read Businesses.Notable documentation changes
New and updated sections in the Ledger Management with JIT Funding guide
- New section JIT Funding message types describes how the JIT Funding message types relate to your ledger.
- New section 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 shows sample webhook notifications as they would appear in a chargeback scenario.
- The Ledger-impacting transaction events section added a new table column indicating whether the transaction event was sent in a temporary or final transaction message.
March 2020
New features
Visa and Mastercard have added new token requestor names
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 useunknown 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 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.
Financial advice authorization clearing events include amount to be released
Financial adviceauthorization.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.
Velocity controls supported for dual-message withdrawal transactions
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.Changed functionality
State of digital wallet tokens reflected in wallets
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.Notable documentation changes
New ledger management developer guide
The Ledger Management for 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.Newly documented fields in transaction response model
Transaction typeauthorization.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. |