This log details any breaking and non-breaking API changes we have released for our Payments service.
Make yourself familiar with our API principles to ensure a resilient integration.
Version 4 is the first major version used by merchants.
New endpoints
We have created a migration guide which consolidates the changes for an easier upgrade from version 6 to version 7.
Reasons for entering into a repeat payment agreement
- header change to "Content-Type: application/vnd.worldpay.payments-v6+json"
 - new mandatory field 
intentfor all recurring resources - removed 
codeandtypefrom error messages 
3DS2 support
- header change to "Content-Type: application/vnd.worldpay.payments-v5+json"
 - new mandatory field 
type - new mandatory field 
version xidtotransactionId
New mandatory field
- Header change to "Content-Type: application/vnd.worldpay.payments-v0.4+json"
 - New mandatory field 
entityReference 
More details
You can now submit a reference in your refund, settle and cancelation request. This allows you to identify a payment throughout its lifecycle.
More details
You can now include a customerData object in your authentication object. This allows you to submit additional customer details necessary to meet local authentication, as required by country-specific regulations. Currently, the customerData object is used solely for domestic Toss Pay payments in South Korea.
More details
You can now submit:
emailAddress- allowing your customer to receive an email with the transaction outcome (if configured)ipAddress- as required for certain jurisdictions and/or MCCsphoneNumber- added for future enhancements for Amex
More details
You can now submit a  surchargeAmount and convenienceAmount in your authorization, settlement and refund requests within the value object. This allows you to report the amount charged for card processing or online booking fees to remain compliant with scheme mandates. Ensure that the surcharge or convenience fee complies with local regulations and card network rules before applying.
More details
You can now enable partial authorization by setting the acceptPartialAuthorization object to true. This allows you to accept a partial payment if the full amount is not available, and then charge the remaining balance using a different payment method through a new authorization request.
More details
You can now send a splitFundingReference in your settlement and refund requests. Available for marketplaces and other merchant types, a splitFundingReference allows you to split acquiring funding into your secondary bank account.
More details
You can now send paymentFacilitator.subMerchant.url field in your authorization request.
More details
You now receive a paymentInstrument.debitNetwork field in your authorization response. This field advises which debit network the transaction was routed through. Receiving this field requires additional configuration, please contact your Implementation Manager.
More details
You can now send sender.dateOfBirth in your funds transfer (AFT) requests which is required for some cross border funding transactions.
More details
We now return a commandId and a paymentId in the following responses:
The paymentId is a unique identifier for a payment that ties together payment lifecycle events.
 The commandId is a unique identifier for a single instance of an interaction with our API. This will support new future business type flows.
More details
In your authorization request, you can now include:
- a 3rd party Transaction Risk Analysis (TRA) tool exemption
 - a 3DS 
authenticationOutageexemption (if returned by 3DS), to increase the chance of an authorized outcome (no liability shift is granted) 
Both require additional configuration and permission, please contact your Implementation Manager.
More details
You can now use the "card/networkToken+googlepay" paymentInstrument in your authorization request to process decrypted Google Pay payments.
More details
You can now send additional fund transfer type and purpose values in the fundsTransfer object in your authorization request. This allow you to be compliant with card scheme requirements for fund transfers.
More details
You can now submit an incremental authorization for an estimated initial authorization.
You can now also cancel an authorization partially using a new next action link received in your authorization response.
More details
You can now submit additional L2/L3 and airline data in your authorization or settlement request. Supplying this information means you may benefit from reduced cost and more efficient processing.
More details
You can now submit preferredCardBrand in your authorization request to honor your customer's card brand choice for co-badged cards.
More details
You can now submit the following additional values for customerAgreement.type in your MIT request:
reauthorization- use this where the original authorization has expired before funds could be sent for settlementresubmission- use this where the original authorization was declined due to insufficient funds, but the customer has already received goods or servicesnoShow- use this to charge a customer who fails to attend a previously-made reservation (in line with a pre-agreed cancellation policy) e.g. a guaranteed reservation is made at a restaurant but the customer does not turn updelayedCharge- use this to charge a customer for additional items after you have processed an original CIT payment (in line with previously agreed terms), e.g. charges for hotel mini-bar usage after the customer has checked-out and the original payment has been sent for settlement
More details
You can now request real-time account updates (Visa cards only) when using a previously stored card using instruction.requestAccountUpdater. If the supplied card has been updated, we will return updated card details in the updatedPaymentInstrument object in the authorization response.
More details
You can now submit the fundingType and salesTax field in payment requests for Latin America.
More details
We have now added support for Merchant Initiated Transactions (MIT) to Card Payments Version 7.
More details
You can now submit funds transfers (otherwise known as Account Funding Transactions or AFTs) using the instruction.fundsTransfer object in your authorization request. Non-purchase money movements from a Visa or Mastercard to another account should typically use this.
More details
You can now submit Latin America installment payments using the instruction.customerAgreement object in your authorization request. This allows your customers to opt to pay the full value in installments.
More details
You can now submit the customer.documentReference in your authorization request. This is used in some Latin America regions to verify the identity of the cardholder using a tax or document reference. It is strongly recommended to include this for Brazil domestic processing.
More details
You can now submit the recipient object in your authorization request. If you are using MCC 6012 in Europe, you should include data about the recipient of financial services within this object.
More details
You can now submit a consumerBillPayment flag in your authorization request. If you are registered with Visa as a Consumer of the Bill Payment Service (CBPS), you must set this to true for any payments associated with the CBPS.
More details
We now provide additional values in the authentication and 3DS verification responses when the card brand is Cartes Bancaires. These additional values must then be applied in the authorization request.
2023
More details
You can now receive a rawCode in all refusal responses. See raw response codes for more information.
More details
You now receive a paymentInstrument object in authorized responses to your authorization request, and Sent for Settlement responses to your sale request for card/plain, card/token, and card/checkout.
More details
You can now use our card/networkToken paymentInstrument with our one time authorization and migrateCardOnFileAuthorize endpoints.
More details
You can now use our card/networkToken+applepay paymentInstrument with our one time authorization endpoint.
More details
You can now submit a new intent value of subscription in your card on file request.
More details
The response of a partial refund request returns a link to allow you to perform another partial refund. The json path to the link in the response is $._links.payments:partialRefund.href.
More details
We have added a new set of Mastercard refusalAdvice magic values. This enables to you to test the different refusal outcomes in your payment response.
More details
You can now supply payment facilitator subMerchant email and telephone number in your authorization request.
More details
The payment facilitator state field in the authorization request now supports 1-3 alphanumeric characters.
2022
More details
You now have an option to specify a payment channel as moto to accept Mail Order Telephone Order (MOTO) payments with our authorize, migrateCardOnFileAuthorize and migrateCardOnFileSale endpoints.
More details
You can now submit your riskProfile to our card on file (with verification) endpoint in your payment requests. You then receive an exemption result and reason in the response.
Use it to apply the SCA exemption in the payment request and update the FraudSight data model to benefit future payments.
2021
More details
You can now use our card/networkToken paymentInstrument in our `payments:migrateCardOnFileSale endpoint.
More details
You can now submit the scheme reference in your migrateCardOnFile token and migrateCardOnFileSale token requests.
This request parameter allows you to take a repeat payment with our APIs, linking to an agreement established with a different PSP.
More details
You now receive an exemption result and reason in your card on file sale and card on file authorization response if you have provided a riskProfile in your request.
More details
You now receive an exemption result and reason in your authorization response if you have provided a riskProfile in your request.
More details
You now receive a verificationFailed result in your authorization response if the issuer identifies a conflict.
More details
The paymentInstrument.cardHolderName field is no longer mandatory in v6 payment requests.
More details
You can now submit your riskProfile to our migrate card on file (without verification) and one time endpoints in your payment requests. Use it to apply the SCA exemption  in the payment request and update the FraudSight data model to benefit future payments.
2020
More details
You can now use Apple Pay decrypted in our payments:migrateRecurringAuthorize endpoint to make a payment.
More details
You can now use Apple Pay decrypted in our payments:migrateCardOnFileAuthorize endpoint to make a payment.
More details
You can optionally supply billingAddress details in the paymentInstrument for Mobile Wallet payment requests.
More details
We now return AVS results in riskFactors for our mobile wallet payment responses.
More details
This request parameter allows you to take a repeat payment with our APIs, linking to an agreement established with a different PSP.
- you can now submit the scheme 
referencein the requests for our migrateRecurringAuthorize, migrateCardOnFileAuthorize and migrateCardOnFileSale endpoints 
More details
- we are now returning a 
payments:cancelaction link in the response for thepartialSettlerequest 
More details
We have extended our formatting rules.
- you can now submit "+" in the 
transactionReferencefield 
More details
This change caters for the new mandate (July 2020) to allow merchants with MCC 7995, 7800, 7801, 7802 and 9406 to submit CVC in card on file requests.
- You can now submit the card/checkout 
paymentInstrumentwhich allows you to submit CVC alongside a token for the payments:cardonFileAuthorize, payments:migrateCardOnFileSale and payments:migrateCardOnFileAuthorize endpoints 
More details
- the response for our wallet payment requests (Apple Pay/ Google Pay) now includes the 
paymentInstrument 
More details
payments:reversalaction links now returned for recurring and card on file sale resources
More details
- You can now submit 
intentfor all card on file resources 
More details
- We are returning 
riskFactorsin our refused responses 
More details
- You can now submit 
cvcfor requests using tokens 
More details
debtRepaymentindicator which flags payments with purpose of repaying debt
2019
More details
- Subsequent authorization action links now included in successful card on file and recurring payment responses
New links are: 
More details
- From 
500-serviceUnavailable
to400-expiredCard 
More details
The following characters are now allowed:
- _/!@#$%()*=-.:;?[]-{}&~`
 - 0123456789
 - ABCDEFGHIJKLMNOPQRSTUVWXYZ
 - abcdefghijklmnopqrstuvwxyz