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
intent
for all recurring resources - removed
code
andtype
from error messages
3DS2 support
- header change to "Content-Type: application/vnd.worldpay.payments-v5+json"
- new mandatory field
type
- new mandatory field
version
xid
totransactionId
New mandatory field
- Header change to "Content-Type: application/vnd.worldpay.payments-v0.4+json"
- New mandatory field
entityReference
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
authenticationOutage
exemption (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.
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
reference
in the requests for our migrateRecurringAuthorize, migrateCardOnFileAuthorize and migrateCardOnFileSale endpoints
More details
- we are now returning a
payments:cancel
action link in the response for thepartialSettle
request
More details
We have extended our formatting rules.
- you can now submit "+" in the
transactionReference
field
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
paymentInstrument
which 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:reversal
action links now returned for recurring and card on file sale resources
More details
- You can now submit
intent
for all card on file resources
More details
- We are returning
riskFactors
in our refused responses
More details
- You can now submit
cvc
for requests using tokens
More details
debtRepayment
indicator 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