# Managing Supplier registration
source: https://developer.mastercard.com/mastercard-supplier-payment-agent/documentation/tutorials-and-guides/registration-tutorial/index.md

## Overview {#overview}

Supplier Payment Agents can manage their Suppliers and payment profiles in Business Payment Service.
>
> #### What you will learn {#what-you-will-learn}
>
> * How to register a Supplier in Business Payment Service
> * How to update a Supplier's registration
> * How to update a Supplier's payment profile
> * How to delete a Supplier
> * How to delete a Supplier's payment profile
> * Optional - how to retrieve Supplier registration
> * How to update Supplier payable finance details
> * How to retrieve Supplier payable finance details

## What you will achieve {#what-you-will-achieve}

By completing this tutorial you will successfully register a Supplier in Business Payment Service and manage a Supplier's registration.

## Next steps {#next-steps}

Click **Next** to get started.

## Register a Supplier {#register-a-supplier}

As a Supplier Payment Agent you can register your Suppliers through the Business Payment Service registration endpoint. You can leverage this endpoint to register a Supplier and create their payment profile at the same time. A Supplier payment profile details the billing and payment method information for a Supplier.

Complete these steps to register a Supplier and create their payment profile in Business Payment Service.

### 1. Create the Supplier registration request using the POST registration endpoint. {#1-create-the-supplier-registration-request-using-the-post-registration-endpoint}

Tip: When registering the Supplier in Business Payment Service, the Supplier Payment Agent can indicate if an approved link is required before a Buyer can pay a Supplier by setting the `requireLinkForPayment` value to `true`. By default, the value is set to `false`. This value can be updated at any time by leveraging the PUT registration endpoint.   

For more information on linking, refer to the [Linking](https://developer.mastercard.com/mastercard-supplier-payment-agent/documentation/tutorials-and-guides/linking-tutorial/index.md) tutorial.
API Reference: `POST /supplier-payment-agents/{ica}/suppliers`

Note: With the February 2022 release, agents can reuse previously deleted Supplier IDs.

You will need the Supplier ID you created for the Supplier to complete other registration activities.

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request}

If a Supplier registration request is incorrect or invalid, the registration is not created. If the failure is due to invalid information, you may receive one of the following error reason codes.

|                                     Reason Code                                      |                                                                                                                                                                                                                                                                                                                                         Description                                                                                                                                                                                                                                                                                                                                          |
|--------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SUPPLIER_ID_EXISTS                                                                   | Enter a different Supplier ID, `<Supplier ID>` already exists.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| INVALID_SUPPLIER_ID_FORMAT NO_SUPPLIER_ID                                            | Enter Supplier ID in the format \[Supplier\]@track or \[Supplier\].\[branch\]@track                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| INVALID_LEGAL_BUSINESS_NAME INVALID_DBA_NAME NO_LEGAL_BUSINESS_NAME                  | Enter a Name with 240 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| INVALID_LEGAL_ADDRESS_LINE_1 INVALID_PAY_TO_ADDRESS_LINE_1                           | Enter Address Line1 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_LEGAL_ADDRESS_LINE_2 INVALID_PAY_TO_ADDRESS_LINE_2                           | Enter Address Line2 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_LEGAL_ADDRESS_LINE_3 INVALID_PAY_TO_ADDRESS_LINE_3                           | Enter Address Line3 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_LEGAL_ADDRESS_TOWN_NAME INVALID_PAY_TO_ADDRESS_TOWN_NAME                     | Enter a Town Name with 50 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| INVALID_LEGAL_ADDRESS_COUNTRY_SUBDIVISION INVALID_PAY_TO_ADDRESS_COUNTRY_SUBDIVISION | Enter a Country SubDivision with 35 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| INVALID_LEGAL_ADDRESS_POSTCODE INVALID_PAY_TO_ADDRESS_POSTCODE                       | **NAM** US: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. Canada: Enter a valid Post Code with 5 to 8 characters. Spaces or hyphens are allowed. **EUR** UK: Enter a valid Post Code with 6 to 8 characters. Spaces or hyphens are allowed. **LAC** Curacao (optional): Enter a valid Post Code up with 10 characters or less. Spaces or hyphens are allowed. Colombia: Enter a valid Post Code with 7 digits. Spaces or hyphens are allowed. Brazil: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. **Other** All other countries (optional): Enter a valid Post Code with 10 characters or less. Spaces or hyphens are allowed. |
| INVALID_LEGAL_ADDRESS_COUNTRY INVALID_PAY_TO_ADDRESS_COUNTRY                         | Enter country code in two-letter code format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| INVALID_ORGANISATION_ID_TYPE                                                         | Enter a valid Organisation Identification Type.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| NO_TAX_ID                                                                            | Enter a Tax ID for an Organisation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| PAYMENT_PROFILE_LIMIT_EXCEEDED                                                       | Remove one or more profiles. The total number of profiles associated with a Supplier cannot exceed 20.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_PAYMENT_METHOD                                                                    | Enter one or more payment methods supported by the Buyer/Supplier and agent. Valid values are CARD, ACH, RTP, and TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_LOCAL_INSTRUMENT                                                                  | Enter one or more local instrument for the payment method TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| BUSINESS_EXISTS                                                                      | This business already exists for this agent.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| INVALID_PAYMENT_METHOD                                                               | Enter one or more valid payment methods supported by the Buyer/Supplier and agent. Valid values are CARD, ACH, RTP, and TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| INVALID_LOCAL_INSTRUMENT                                                             | Enter one or more valid local instruments for the payment method TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| UNSUPPORTED_PAYMENT_METHOD                                                           | Enter a payment method or local instrument supported by both agent and Buyer/Supplier.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| INVALID_INACTIVE_REASON                                                              | Enter a valid inactive reason. Valid values are PRE_REGISTERED and AGENT_HOLD.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| NO_INACTIVE_REASON                                                                   | Enter an inactive reason. Valid values are PRE_REGISTERED or AGENT_HOLD.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| INVALID_TAX_ID                                                                       | **NAM** US: Enter a valid Tax ID with 9 digits. Canada: Enter a valid Tax ID with 9 digits. **EUR** UK: Enter a valid Tax ID with 10 digits. **LAC** Curacao: Enter a valid Tax ID with 9 digits. Colombia: Enter a valid Tax ID with 9 or 10 digits. Brazil: Enter a valid Tax ID with 14 digits. **Other** All other countries (optional): Enter a valid Tax ID with 15 digits.                                                                                                                                                                                                                                                                                                            |
| NO_LEGAL_ADDRESS_LINE_1 NO_PAY_TO_ADDRESS_LINE_1                                     | Enter Address Line1 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| NO_LEGAL_ADDRESS_TOWN_NAME NO_PAY_TO_ADDRESS_TOWN_NAME                               | Enter a Town Name with 50 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| NO_LEGAL_ADDRESS_COUNTRY_SUBDIVISION NO_PAY_TO_ADDRESS_COUNTRY_SUBDIVISION           | Enter a Country SubDivison with 35 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_LEGAL_ADDRESS_POSTCODE NO_PAY_TO_ADDRESS_POSTCODE                                 | **NAM** US: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. Canada: Enter a valid Post Code with 5 to 8 characters. Spaces or hyphens are allowed. **EUR** UK: Enter a valid Post Code with 6 to 8 characters. Spaces or hyphens are allowed. **LAC** Curacao (optional): Enter a valid Post Code up with 10 characters or less. Spaces or hyphens are allowed. Colombia: Enter a valid Post Code with 7 digits. Spaces or hyphens are allowed. Brazil: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. **Other** All other countries (optional): Enter a valid Post Code with 10 characters or less. Spaces or hyphens are allowed. |
| NO_LEGAL_ADDRESS_COUNTRY NO_PAY_TO_ADDRESS_COUNTRY                                   | Enter country code in two-letter code format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| LEGAL_ADDRESS_SANCTIONED_COUNTRY PAY_TO__ADDRESS_SANCTIONED_COUNTRY                  | Enter a different country. The country used in the request is sanctioned and cannot be used                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| INVALID_PROFILE_STATE                                                                | Enter a valid value for is_active flag for payment profile. Payment profile cannot be active when Supplier is inactive.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| LOCAL_INSTRUMENT_NOT_ALLOWED                                                         | Enter TRF payment method if using a local instrument. Local Instruments can only be used with TRF payment method.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### 3. Verify the Supplier was successfully registered. {#3-verify-the-supplier-was-successfully-registered}

You should receive a 201 OK and the registration ID for the Supplier.
Tip: You will need the registration ID to perform other registration activities for the Supplier.

### 4. Click Next to proceed to updating the Supplier's registration. {#4-click-next-to-proceed-to-updating-the-suppliers-registration}

## Update a Supplier registration {#update-a-supplier-registration}

You can make updates to the Supplier's registration after the Supplier has been successfully registered in Business Payment Service. For example, if a Supplier moves locations, you can update the information by leveraging this endpoint.
Note: Updating a Supplier's registration is separate from updating a Supplier's payment profile. To update billing and payment method details for a Supplier, click **Next**.

To update a Supplier's registration details, complete these steps:

### 1. Create the Supplier registration request using the PUT registration endpoint. {#1-create-the-supplier-registration-request-using-the-put-registration-endpoint}

Tip: You must include the ICA and registration ID for the Supplier in the request URI.

The Mastercard assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.

The following Supplier details can be updated using the update a Supplier registration endpoint.

* Legal business address
* Organisation identification   

These updates will be reflected immediately.  
Tip: When updating the Supplier's registration in Business Payment Service, the Supplier Payment Agent can indicate if an approved link is required before a Buyer can pay a Supplier by setting the `requireLinkForPayment` value to `true`. By default, the value is set to `false`. This value can be updated at any time by leveraging this endpoint.   

For more information on linking, refer to the [Linking](https://developer.mastercard.com/mastercard-supplier-payment-agent/documentation/tutorials-and-guides/linking-tutorial/index.md) tutorial.
API Reference: `PUT /supplier-payment-agents/{ica}/suppliers/{id}`

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request-1}

If an update Supplier registration request is incorrect or invalid, the registration is not updated. If the failure is due to invalid or missing information, you may receive one of the following error reason codes.

|                             Reason Code                             |                                                                                                                                                                                                                                                                                                                                         Description                                                                                                                                                                                                                                                                                                                                          |
|---------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_LEGAL_BUSINESS_NAME INVALID_DBA_NAME NO_LEGAL_BUSINESS_NAME | Enter a Name with 240 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| INVALID_REGISTRATION_ID                                             | Enter a valid Supplier registration ID. `<ID>` is either not valid or is not associated to your profile.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| INVALID_LEGAL_ADDRESS_LINE_1                                        | Enter Address Line1 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_LEGAL_ADDRESS_LINE_2                                        | Enter Address Line2 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_LEGAL_ADDRESS_LINE_3                                        | Enter Address Line3 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_LEGAL_ADDRESS_TOWN_NAME                                     | Enter a Town Name with 50 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| INVALID_LEGAL_ADDRESS_COUNTRY_SUBDIVISION                           | Enter a Country SubDivison with 35 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| INVALID_LEGAL_ADDRESS__POSTCODE                                     | **NAM** US: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. Canada: Enter a valid Post Code with 5 to 8 characters. Spaces or hyphens are allowed. **EUR** UK: Enter a valid Post Code with 6 to 8 characters. Spaces or hyphens are allowed. **LAC** Curacao (optional): Enter a valid Post Code up with 10 characters or less. Spaces or hyphens are allowed. Colombia: Enter a valid Post Code with 7 digits. Spaces or hyphens are allowed. Brazil: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. **Other** All other countries (optional): Enter a valid Post Code with 10 characters or less. Spaces or hyphens are allowed. |
| INVALID_TAX_ID_UPDATE                                               | A Tax ID already exists for this Supplier. The Tax ID cannot be updated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| INVALID_ORGANISATION_ID_TYPE                                        | Enter a valid Organisation Identification Type.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| NO_TAX_ID                                                           | Enter a Tax ID for an Organisation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| INVALID_INACTIVE_REASON                                             | Enter a valid inactive reason. Valid values are PRE_REGISTERED and AGENT_HOLD.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| NO_INACTIVE_REASON                                                  | Enter an inactive reason. Valid values are PRE_REGISTERED or AGENT_HOLD.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| INVALID_TAX_ID                                                      | **NAM** US: Enter a valid Tax ID with 9 digits. Canada: Enter a valid Tax ID with 9 digits. **EUR** UK: Enter a valid Tax ID with 10 digits. **LAC** Curacao: Enter a valid Tax ID with 9 digits. Colombia: Enter a valid Tax ID with 9 or 10 digits. Brazil: Enter a valid Tax ID with 14 digits. **Other** All other countries (optional): Enter a valid Tax ID with 15 digits.                                                                                                                                                                                                                                                                                                            |
| NO_LEGAL_ADDRESS_LINE_1                                             | Enter Address Line1 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| NO_LEGAL_ADDRESS_TOWN_NAME                                          | Enter a Town Name with 50 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| NO_LEGAL_ADDRESS_COUNTRY_SUBDIVISION                                | Enter a Country SubDivison with 35 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_LEGAL_ADDRESS_POSTCODE                                           | **NAM** US: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. Canada: Enter a valid Post Code with 5 to 8 characters. Spaces or hyphens are allowed. **EUR** UK: Enter a valid Post Code with 6 to 8 characters. Spaces or hyphens are allowed. **LAC** Curacao (optional): Enter a valid Post Code up with 10 characters or less. Spaces or hyphens are allowed. Colombia: Enter a valid Post Code with 7 digits. Spaces or hyphens are allowed. Brazil: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. **Other** All other countries (optional): Enter a valid Post Code with 10 characters or less. Spaces or hyphens are allowed. |
| NO_LEGAL_ADDRESS_COUNTRY                                            | Enter country code in two-letter code format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| LEGAL_ADDRESS_SANCTIONED_COUNTRY                                    | Enter a different country. The country used in the request is sanctioned and cannot be used.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| INVALID_PROFILE_STATE_UPDATE                                        | Enter a valid value for is_active flag. Supplier cannot be inactive when payment profile is active.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| INVALID_COUNTRY_UPDATE                                              | A Legal Address Country exists for this Supplier. The Legal Address Country cannot be updated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

### 3. Verify the Supplier's details were successfully updated. {#3-verify-the-suppliers-details-were-successfully-updated}

You should receive a 204 OK response.

### 4. Click Next to proceed to updating the Supplier's payment profile. {#4-click-next-to-proceed-to-updating-the-suppliers-payment-profile}

## Update a Supplier payment profile {#update-a-supplier-payment-profile}

You can make updates to the Supplier's payment profile after the Supplier has been successfully registered in Business Payment Service. For example, if a Supplier changes its billing location or payment method details, you can update the information by leveraging this endpoint.
Note: Updating a Supplier's registration is separate from updating a Supplier's payment profile. To update a Supplier's registration, click **Back**.

To update a Supplier's payment profile details, complete these steps:

### 1. Create the Supplier profile update request using the PUT Supplier profile endpoint. {#1-create-the-supplier-profile-update-request-using-the-put-supplier-profile-endpoint}

You must include the ICA, registration ID, and Supplier ID for the Supplier in the request URI.

The Mastercard assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.

The following Supplier profile details can be updated using the update Supplier payment profile endpoint.

* Supplier profile email
* Local instruments
* Pay to address
* Payment methods   

These updates will be reflected immediately.  

API Reference: `PUT /supplier-payment-agents/{ica}/suppliers/{id}/payment-profiles/{supplier_id}`

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request-2}

If a Supplier payment profile request is incorrect or invalid, the profile is not updated. If the failure is due to invalid or missing information, you may receive one of the following error reason codes.

|                Reason Code                 |                                                                                                                                                                                                                                                                                                                                         Description                                                                                                                                                                                                                                                                                                                                          |
|--------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SUPPLIER_ID_EXISTS                         | Enter a different Supplier ID, `<Supplier ID>` already exists.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| INVALID_SUPPLIER_ID_FORMAT NO_SUPPLIER_ID  | Enter Supplier ID in the format \[Supplier\]@track or \[Supplier\].\[branch\]@track                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| SUPPLIER_ID_NOT_FOUND                      | Enter a valid Supplier ID. `<Supplier Id>` was not found.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| INVALID_REGISTRATION_ID                    | Enter a valid Supplier registration ID. is either not valid or is not associated to your profile.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| INVALID_PAY_TO_ADDRESS_LINE_1              | Enter Address Line1 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_PAY_TO_ADDRESS_LINE_2              | Enter Address Line2 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_PAY_TO_ADDRESS_LINE_3              | Enter Address Line3 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| INVALID_PAY_TO_ADDRESS_TOWN_NAME           | Enter a Town Name with 50 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| INVALID_PAY_TO_ADDRESS_COUNTRY_SUBDIVISION | Enter a Country SubDivison with 35 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| INVALID_PAY_TO_ADDRESS_POSTCODE            | Enter a Country SubDivison with 35 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| INVALID_PAY_TO_ADDRESS_POSTCODE            | **NAM** US: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. Canada: Enter a valid Post Code with 5 to 8 characters. Spaces or hyphens are allowed. **EUR** UK: Enter a valid Post Code with 6 to 8 characters. Spaces or hyphens are allowed. **LAC** Curacao (optional): Enter a valid Post Code up with 10 characters or less. Spaces or hyphens are allowed. Colombia: Enter a valid Post Code with 7 digits. Spaces or hyphens are allowed. Brazil: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. **Other** All other countries (optional): Enter a valid Post Code with 10 characters or less. Spaces or hyphens are allowed. |
| INVALID_PAY_TO_ADDRESS_COUNTRY             | Enter country code in two-letter code format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| PAYMENT_PROFILE_LIMIT_EXCEEDED             | Remove one or more profiles. The total number of profiles associated with a Supplier cannot exceed 20.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_PAYMENT_METHOD                          | Enter one or more payment methods supported by the Buyer/Supplier and agent. Valid values are CARD, ACH, RTP, and TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_LOCAL_INSTRUMENT                        | Enter one or more local instrument for the payment method TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| INVALID_PAYMENT_METHOD                     | Enter one or more valid payment methods supported by the Buyer/Supplier and agent. Valid values are CARD, ACH, RTP, and TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| INVALID_LOCAL_INSTRUMENT                   | Enter one or more valid local instruments for the payment method TRF.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| UNSUPPORTED_PAYMENT_METHOD                 | Enter a payment method or local instrument supported by both agent and Buyer/Supplier.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_PAY_TO_ADDRESS_LINE_1                   | Enter Address Line1 with 70 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| NO_PAY_TO_ADDRESS_TOWN_NAME                | Enter a Town Name with 50 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| NO_PAY_TO_ADDRESS_COUNTRY_SUBDIVISION      | Enter a Country SubDivison with 35 characters or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| NO_PAY_TO_ADDRESS_POSTCODE                 | **NAM** US: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. Canada: Enter a valid Post Code with 5 to 8 characters. Spaces or hyphens are allowed. **EUR** UK: Enter a valid Post Code with 6 to 8 characters. Spaces or hyphens are allowed. **LAC** Curacao (optional): Enter a valid Post Code up with 10 characters or less. Spaces or hyphens are allowed. Colombia: Enter a valid Post Code with 7 digits. Spaces or hyphens are allowed. Brazil: Enter a valid Post Code with 5 to 10 digits. Spaces or hyphens are allowed. **Other** All other countries (optional): Enter a valid Post Code with 10 characters or less. Spaces or hyphens are allowed. |
| NO_PAY_TO_ADDRESS_COUNTRY                  | Enter country code in two-letter code format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| PAY_TO__ADDRESS_SANCTIONED_COUNTRY         | Enter a different country. The country used in the request is sanctioned and cannot be used.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| INVALID_PROFILE_STATE                      | Enter a valid value for is_active flag for payment profile. Payment profile cannot be active when Supplier is inactive.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| INVALID_PROFILE_STATE_UPDATE               | Enter a valid value for is_active flag. Supplier cannot be inactive when payment profile is active.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| LOCAL_INSTRUMENT_NOT_ALLOWED               | Enter TRF payment method if using a local instrument. Local Instruments can only be used with TRF payment method.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### 3. Verify the Supplier's payment profile details were successfully updated. {#3-verify-the-suppliers-payment-profile-details-were-successfully-updated}

You should receive a 204 OK response.

### 4. Click Next to proceed to to delete the Supplier's registration in Business Payment Service. {#4-click-next-to-proceed-to-to-delete-the-suppliers-registration-in-business-payment-service}

## Delete a Supplier's payment profile {#delete-a-suppliers-payment-profile}

You can delete a Supplier's payment profile in Business Payment Service.
Note: If there is any transaction activity, the Supplier Payment Agent must deactivate the Supplier registration and its associated Supplier payment profile instead of deleting. Contact your Mastercard representative to deactivate.   
Deleting a Supplier's registration is separate from deleting a Supplier's payment profile. To delete a Supplier's registration, click **Next**.

To delete the Supplier's payment profile in Business Payment Service, complete these steps:

### 1. Create the Supplier registration deletion request using the DELETE Supplier profile endpoint. {#1-create-the-supplier-registration-deletion-request-using-the-delete-supplier-profile-endpoint}

You must include the ICA, registration Id, and Supplier Id for the Supplier in the request URI.

The Mastercard assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.

API Reference: `DELETE /supplier-payment-agents/{ica}/suppliers/{id}/payment-profiles/{supplier_id}`

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request-3}

If a delete Supplier payment profile request is invalid, the payment profile is not deleted and you may receive the following error reason code.

|       Reason Code       |                                               Description                                                |
|-------------------------|----------------------------------------------------------------------------------------------------------|
| INVALID_REGISTRATION_ID | Enter a valid Supplier registration id. `<Id>` is either not valid or is not associated to your profile. |

### 3. Verify the Supplier's payment profile details were successfully deleted. {#3-verify-the-suppliers-payment-profile-details-were-successfully-deleted}

You should receive a 204 OK response.
Note: The Supplier profile is marked in "INACTIVE" state once this endpoint is triggered. The supplier profile data is deleted after 90 days.

### 4. Click Next to proceed to retrieving the Supplier's registration in Business Payment Service. {#4-click-next-to-proceed-to-retrieving-the-suppliers-registration-in-business-payment-service}

## Delete a Supplier {#delete-a-supplier}

You can delete a Supplier's registration in Business Payment Service.
Note: If there is any transaction activity, the Supplier Payment Agent must deactivate the Supplier registration and its associated Supplier payment profile instead of deleting. Contact your Mastercard representative to deactivate.   
Deleting a Supplier's registration is separate from deleting a Supplier's payment profile. To delete a Supplier's payment profile, select **Back**.

To delete a Supplier's registration in Business Payment Service, complete these steps:

### 1. Create the Supplier registration deletion request using the DELETE registration endpoint. {#1-create-the-supplier-registration-deletion-request-using-the-delete-registration-endpoint}

You must include the ICA and registration Id for the Supplier in the request URI.

The Mastercard assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.

API Reference: `DELETE /supplier-payment-agents/{ica}/suppliers/{id}`

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request-4}

If a delete Supplier registration request is invalid, the registration is not deleted, and you may receive the following error reason code.

|       Reason Code       |                                               Description                                                |
|-------------------------|----------------------------------------------------------------------------------------------------------|
| INVALID_REGISTRATION_ID | Enter a valid Supplier registration id. `<Id>` is either not valid or is not associated to your profile. |

### 3. Verify the Supplier's registration was successfully deleted. {#3-verify-the-suppliers-registration-was-successfully-deleted}

You should receive a 204 OK response.
Note: The Supplier is marked in "INACTIVE" state once this endpoint is triggered. The supplier data is deleted after 90 days.

### 4. Click Next to proceed to deleting the Supplier's registration in Business Payment Service. {#4-click-next-to-proceed-to-deleting-the-suppliers-registration-in-business-payment-service}

## Retrieve Supplier details {#retrieve-supplier-details}

These optional endpoints allow Supplier Payment Agents to retrieve Supplier registration. You can leverage these endpoints to either lookup a single Supplier or all Suppliers associated with the agent in Business Payment Service.

To retrieve Supplier(s) in Business Payment Service, complete these steps:

### 1. Create the single Supplier registration retrieval request using the GET single registration endpoint OR the GET all registrations endpoint to retrieve all Supplier registrations. {#1-create-the-single-supplier-registration-retrieval-request-using-the-get-single-registration-endpoint-or-the-get-all-registrations-endpoint-to-retrieve-all-supplier-registrations}

The Mastercard assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.

#### Retrieve a single Supplier registration {#retrieve-a-single-supplier-registration}


API Reference: `GET /supplier-payment-agents/{ica}/suppliers/{id}`

#### Retrieve all Supplier registrations {#retrieve-all-supplier-registrations}


API Reference: `GET /supplier-payment-agents/{ica}/suppliers`

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request-5}

If a retrieve a single Supplier registration request is invalid, the registration is not retrieved and you may receive the following error reason code.

|       Reason Code       |                                               Description                                                |
|-------------------------|----------------------------------------------------------------------------------------------------------|
| INVALID_REGISTRATION_ID | Enter a valid Supplier registration id. `<Id>` is either not valid or is not associated to your profile. |

If a retrieve all Supplier registrations request is invalid, the registration is not retrieved, and you may receive the following error reason code.

|  Reason Code  |                                             Description                                             |
|---------------|-----------------------------------------------------------------------------------------------------|
| INVALID_LIMIT | Set the limit to 100 records or less for this request. You can only retrieve 100 records at a time. |

### 3. Verify the Supplier's registration details were successfully retrieved. {#3-verify-the-suppliers-registration-details-were-successfully-retrieved}

You should receive a 200 OK response.

## Update Supplier payable finance details {#update-supplier-payable-finance-details}

You can make updates to the Supplier's payable finance details after the Supplier has been successfully registered in Business Payment Service.
Note: Updating a Supplier's payable finance details is separate from updating a Supplier's payment profile. To update billing and payment method details for a Supplier, click **Next**.

To update a Supplier's payable finance details details, complete these steps:

### 1. Create the request using the PUT payable finance details endpoint. {#1-create-the--request-using-the-put-payable-finance-details-endpoint}

Tip: You must include the ICA and registration Id for the Supplier in the request URI.

The Mastercard assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.
Tip: When updating the Supplier's registration in Business Payment Service, the Supplier Payment Agent can indicate if an approved link is required before a Buyer can pay a Supplier by setting the `requireLinkForPayment` value to `true`. By default, the value is set to `false`. This value can be updated at any time by leveraging this endpoint.   

For more information on linking, refer to the [Linking](https://developer.mastercard.com/mastercard-supplier-payment-agent/documentation/tutorials-and-guides/linking-tutorial/index.md) tutorial.
API Reference: `PUT /supplier-payment-agents/{ica}/supplier-payment-profiles/{supplier_id}/payables-finances`

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request-6}

If an update Supplier payable finance details request is incorrect or invalid, the payable finance details are not updated. If the failure is due to invalid or missing information, you may receive one of the following error reason codes.

|          Reason Code           |                                                            Description                                                             |
|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_PAYABLES_FINANCE_STATE | Enter a valid value for is_active flag for payables finance. A value of true or false is required for 'isActive' value in request. |

### 3. Verify the Supplier's details were successfully updated. {#3-verify-the-suppliers-details-were-successfully-updated-1}

You should receive a 204 OK response.

### 4. Click Next to proceed to updating the Supplier's payment profile. {#4-click-next-to-proceed-to-updating-the-suppliers-payment-profile-1}

## Retrieve Supplier payable finance details {#retrieve-supplier-payable-finance-details}

This endpoints allows Supplier Payment Agents to retrieve a Supplier's payable finance details.

To retrieve a Supplier's payable finance details in Business Payment Service, complete these steps:

### 1. Create the payable finance retrieval request using the GET endpoint. {#1-create-the-payable-finance-retrieval-request-using-the-get-endpoint}

The Mastercard assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.

API Reference: `GET /supplier-payment-agents/{ica}/supplier-payment-profiles/{supplier_id}/payables-finances`

### 2. Review the possible error codes associated with this request. {#2-review-the-possible-error-codes-associated-with-this-request-7}

If a retrieve Supplier's payable finance details request is invalid, the payable finance details are not retrieved and you may receive the following error reason code.

|          Reason Code           |                                                            Description                                                             |
|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_PAYABLES_FINANCE_STATE | Enter a valid value for is_active flag for payables finance. A value of true or false is required for 'isActive' value in request. |

### 3. Verify the Supplier's payable finance details were successfully retrieved. {#3-verify-the-suppliers-payable-finance-details-were-successfully-retrieved}

You should receive a 200 OK response.

### 4. Continue to the linking trading partners tutorial. {#4-continue-to-the-linking-trading-partners-tutorial}

Once your Suppliers are registered with Business Payment Service, consider linking your trading partners to ensure the right entities are transacting with Business Payment Service. Review the tutorial [here](https://developer.mastercard.com/mastercard-supplier-payment-agent/documentation/tutorials-and-guides/linking-tutorial/index.md).
