# Migrate Hosted Checkout to version 100
source: https://developer.mastercard.com/mastercard-gateway/documentation/tutorials-and-guides/migration-guides/mig-hosted-checkout-v100/index.md

Warning: version/100/merchant/{merchantId}/session This is the Migration guide for [Hosted Checkout](https://developer.mastercard.com/mastercard-gateway/documentation/build/hosted-checkout/index.md):[Initiate Checkout](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/rest/api-ops/index.md#hosted-checkout) operation from version 63 to version 100.

<br />

## Breaking changes {#breaking-changes}

The changes between API version 63 and version 100 for the [Hosted Checkout](https://developer.mastercard.com/mastercard-gateway/documentation/build/hosted-checkout/index.md):[Initiate Checkout](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/rest/api-ops/index.md#hosted-checkout) operation introduce new functionalities and parameters that need to be handled in your integration.

### New required conditional fields {#new-required-conditional-fields}

|            Field             |                     Condition                      |                                Impact                                |
|------------------------------|----------------------------------------------------|----------------------------------------------------------------------|
| `debtRepayment.recipient.*`  | Required if `order.purchaseType` = DEBT_REPAYMENT  | This field must be added in requests for debt repayment transactions |
| `accountFunding.recipient.*` | Required if `order.purchaseType` = ACCOUNT_FUNDING | New structure is required for account funding flows                  |

### Removed or deprecated fields {#removed-or-deprecated-fields}

|                               Field                                | Status in version 100 |                               Notes                               |
|--------------------------------------------------------------------|-----------------------|-------------------------------------------------------------------|
| `interaction.tokens[n]`                                            | Removed               | Previously used for token-based card identification               |
| `order.successIndicator`                                           | Removed               | No longer returned in response                                    |
| `interaction.displayControl.paymentMethod.*` (some legacy methods) | Replaced or expanded  | Now includes new methods with `displaySequence` and `displayMode` |

### Changed enum values {#changed-enum-values}

|                   Field                   |                    Change                    |
|-------------------------------------------|----------------------------------------------|
| `checkoutMode`                            | Added PAYMENT_LINK as a new option           |
| `order.purchaseType`                      | Added ACCOUNT_FUNDING                        |
| `interaction.saveCardForCredentialOnFile` | Introduced new enum PAYER_INITIATED_PAYMENTS |

### Field type or constraint changes {#field-type-or-constraint-changes}

|             Field              |                        Change                         |
|--------------------------------|-------------------------------------------------------|
| `order.subMerchant.identifier` | Does not allow special characters like \&, +, !, $, . |
| `order.discount`               | New object with amount, code, and description         |
| `order.merchantCharge`         | New object with type = SURCHARGE                      |
| `order.tax[n].rate`            | New field is added to support tax breakdowns          |

## Response format changes {#response-format-changes}

For [Initiate Checkout](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/rest/api-ops/index.md#hosted-checkout) API response comparison from version 18 to version 100, see the [changelog](https://gateway.mastercard.com/api/documentation/apiDocumentation/rest-json/version/100/changelog.html?locale=en_US).
