/

10 minute read

October 9, 2020

Release Notes

September 2020

Changed functionality

Localized 3DS one-time password (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.

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_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.

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. Learn more here: Direct Deposits (Beta).

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 the expedite 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)

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.

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.

August 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 transition

New field to indicate mail order/telephone order (MOTO) transactions in webhooks

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.

New field to indicate installment transactions in webhooks

Authorization, clearing, and Gateway JIT request webhooks now include the pos.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, the acquiring_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.

July 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 the CROSS_BORDER_ISSUER_FEE.

Notable documentation changes

Wording change: "master access token" renamed "admin access token"

This change is implemented throughout Marqeta documentation.

June 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 passwords for 3DS authentication. It is useful when the user.email field is null or not set. Send a PUT or POST 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 the currency_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

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.

May 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 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.

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

April 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 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 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 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.

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 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 API reference.

Conditionally returned fields explained

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

Have any feedback on this page?

If you feel we can do anything better, please let our team know.

We strive for the best possible developer experience.