# Update a seller Building with an AI agent? Start at https://docs.payme.io/agents.md - Sandbox: `POST https://sandbox.payme.io/api/update-seller` - Production: `POST https://live.payme.io/api/update-seller` ## Credentials - Request body field `payme_client_key` (required): Your partner key. - Request body field `seller_payme_id` (optional): The seller's MPL. Required unless you send `seller_id`. Changes the details of one of your sellers. Partners only: send your `payme_client_key`, the seller's `seller_payme_id` (or your own `seller_id` for the seller), and only the fields you want to change. Every other field is optional. PayMe sets, per partner, which fields can still be changed once they have a value. Changing a locked field that already has a value returns error `33`. A request with no updatable field returns error `19`. The response returns the seller's details after the update. The seller's default `market_fee` can't be changed with this call. To change it, contact PayMe Partners (partners@payme.io). The per-sale `market_fee` on generate-sale is not affected. `seller_additional_details` adds people to the seller. It doesn't change or remove the people already on file. In the sandbox, the test values listed on [Create a seller](/payments/merchants-management/post-create-seller) work here too. ### Callback After the update, PayMe sends a seller callback (`POST`, `x-www-form-urlencoded`) to your default callback URL. The fields are listed on [Callbacks → Sellers](/payments/getting-started/callbacks#sellers-partners). ### Errors Every error returns `status_code` `1` with the code in `status_error_code`. Besides the field validation errors listed on [Create a seller](/payments/merchants-management/post-create-seller): Code | Meaning ---|--- `1` | A required parameter is missing. `19` | No updatable field was sent. `33` | A locked field that already has a value was changed. `251` | No seller has this `seller_payme_id`. `163` | The seller is inactive. `20` | The seller belongs to another partner. The full list is on [Errors](/payments/getting-started/errors). ## Parameters This endpoint takes no path, query or header parameters. ## Request body Content type: `application/json` | Field | Type | Required | Description | | --- | --- | --- | --- | | `payme_client_key` | string | yes | Your partner key. | | `seller_payme_id` | string | no | The seller's MPL. Required unless you send `seller_id`. | | `seller_id` | string | no | Your own ID for the seller, as sent on Create a seller. Use it with `payme_client_key` instead of `seller_payme_id` to identify the seller. It can't be changed. | | `seller_first_name` | string | no | First name of the seller's owner. | | `seller_last_name` | string | no | Last name of the seller's owner. | | `seller_social_id` | string | no | National ID number of the seller's owner. An invalid number returns error `101`. | | `seller_birthdate` | string | no | Seller's personal birth date. Format `dd/mm/yyyy` with leading zeros only: `06/05/1989` is accepted, `6/5/1989` and `06-05-1989` are rejected. The person must be at least 16. Responses return `yyyy-mm-dd`. | | `seller_social_id_issued` | string | no | Seller's personal social ID issuing day. Format `dd/mm/yyyy` with leading zeros only. Responses return `yyyy-mm-dd`. | | `seller_gender` | integer | no | `0` – male, `1` – female, `2` – other. Another value returns error `131`. | | `seller_email` | string | no | The seller's email address. It must be unique among your sellers (error `150`). | | `seller_phone` | string | no | Seller's phone number. | | `seller_contact_email` | string | no | Seller's contact email, shown to buyers. If the seller has no contact email, it is copied from `seller_email`. | | `seller_contact_phone` | string | no | Phone number shown to buyers. | | `seller_bank_code` | integer | no | Bank code. See [Banks in Israel](/payments/codes-statuses/banks-in-israel). An unknown code returns error `106`. | | `seller_bank_branch` | integer | no | Bank branch number, up to 3 digits. An invalid branch returns error `165`. | | `seller_bank_account_number` | string | no | Bank account number, digits only. An invalid number returns error `165`. | | `seller_description` | string | no | Seller’s description, including offered product line and services. Limited to 255 characters (error `5`). | | `seller_site_url` | string | no | The seller's website URL. | | `seller_person_business_type` | integer | no | Business field code (the seller's line of business). See [Business field codes](/marketplaces-and-platforms/seller-reference/mcc-list). An unknown or inactive code returns error `110`. | | `seller_inc` | integer | no | Incorporation type, see [Seller incorporation types](/marketplaces-and-platforms/seller-reference/seller-incorporation-types-il). The type must belong to the seller's country (`seller_address_country`, default Israel), otherwise error `114`. | | `seller_inc_code` | string | no | Seller's business ID (ח.פ, ע.מ). When sent, it must be a number, 0 or above, otherwise the request fails with error `121`. For Israeli sellers, Individual, Sole Proprietorship and Exempt Sole Proprietorship must use the owner's national ID; other types must not equal the national ID and must start with that type's 2-digit company-registry prefix. Otherwise the request fails with error `114`. | | `seller_registration_date` | string | no | Seller's business registration date. Format `dd/mm/yyyy` with leading zeros only: `01/02/2020` is accepted, `1/2/2020` and `01-02-2020` are rejected. Responses return `yyyy-mm-dd`. | | `seller_retail_type` | integer | no | `1` – card not present (online), `2` – card present, `4` – MOTO (phone or mail order). Another value returns error `119`. | | `seller_merchant_name` | string | no | The business's name. Invalid characters return error `120`. | | `seller_merchant_name_en` | string | no | The business's name in English. Latin characters only (error `57`). | | `seller_dba` | string | no | The seller's legal (registered) name in Hebrew. | | `seller_dba_en` | string | no | The seller's legal (registered) name in English. Latin characters only (error `57`). | | `seller_address_city` | string | no | Business address: city. | | `seller_address_street` | string | no | Business address: street. | | `seller_address_street_number` | string | no | Business address: street number. | | `seller_address_country` | string | no | Business address: country, as an ISO 3166-1 alpha-2 code such as `IL`. An unknown code returns error `912`. | | `seller_first_name_en` | string | no | The seller's first name in English. | | `seller_last_name_en` | string | no | The seller's last name in English. | | `seller_address_state` | string | no | State or region of the business address, for sellers outside Israel. | | `seller_address_zip` | string | no | Postal code of the business address. | | `seller_file_social_id` | string | no | Public URL of the owner's ID card (file type `1`). PayMe downloads it in the background. To upload other documents, use [Upload seller files](/payments/merchants-management/post-upload-seller-files). | | `seller_file_cheque` | string | no | Public URL of a bank account confirmation or a cancelled cheque (file type `2`). PayMe downloads it in the background. | | `seller_file_corporate` | string | no | Public URL of the incorporation certificate (file type `3`). PayMe downloads it in the background. | | `seller_plan` | string | no | A predefined set of settings for the seller. If required, this value will be provided by your Account Manager. | | `seller_additional_details` | array | no | Adds people to the seller, one object per person. People already on file are not changed. Each item has the same fields as on [Create a seller](/payments/merchants-management/post-create-seller). | | `seller_additional_details[].first_name` | string | no | First name. | | `seller_additional_details[].last_name` | string | no | Last name. | | `seller_additional_details[].national_id` | string | no | National ID number. | | `seller_additional_details[].social_id_issued` | string | no | ID issue date, `dd/mm/yyyy`. | | `seller_additional_details[].date_of_birth` | string | no | Date of birth, `dd/mm/yyyy`. | | `seller_additional_details[].email` | string | no | Email address. | | `seller_additional_details[].phone` | string | no | Phone number. | | `seller_additional_details[].type` | array | yes | The person's roles, as an array of [individual role](/marketplaces-and-platforms/seller-reference/individual-seller-types) codes, for example `[1, 2]` for an owner who is also a signatory. Missing returns error `160`. | | `seller_additional_details[].business_title` | string | no | Job title in the business. | | `seller_additional_details[].ownership_percent` | number | no | Ownership share, percent. | | `seller_additional_details[].address_country` | string | no | Address: country. | | `seller_additional_details[].address_state` | string | no | Address: state or region. | | `seller_additional_details[].address_city` | string | no | Address: city. | | `seller_additional_details[].address_street` | string | no | Address: street. | | `seller_additional_details[].address_building_number` | string | no | Address: building number. | | `seller_additional_details[].address_zip` | string | no | Address: postal code. | | `seller_additional_details[].files` | array | no | The person's documents. Only individual file types `90`–`97` are accepted (see [File types](/marketplaces-and-platforms/seller-reference/file-types)); another type returns error `160`. | | `seller_additional_details[].files[].type` | integer | yes | File type code, `90`–`97`. See [File types](/marketplaces-and-platforms/seller-reference/file-types). | | `seller_additional_details[].files[].url` | string | no | Public URL of the file. Send `url` or `base64`. | | `seller_additional_details[].files[].base64` | string | no | The file content, base64-encoded. Send `url` or `base64`. | | `seller_additional_details[].files[].name` | string | no | File name with extension, for example `id-front.jpg`. | | `seller_additional_details[].files[].mime_type` | string | no | MIME type of the file, for example `image/jpeg` or `application/pdf`. | | `language` | string | no | Language of error messages: `he` (default) or `en`. | ### Request example ```json { "payme_client_key": "XXXXXXXX", "seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567", "seller_site_url": "https://www.example.com", "seller_contact_phone": "+972501234567", "language": "en" } ``` ## Code samples ### curl ```bash curl -X POST 'https://sandbox.payme.io/api/update-seller' \ -H 'Content-Type: application/json' \ --data-raw '{ "payme_client_key": "XXXXXXXX", "seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567", "seller_site_url": "https://www.example.com", "seller_contact_phone": "+972501234567", "language": "en" }' ``` ### Node.js ```javascript const response = await fetch("https://sandbox.payme.io/api/update-seller", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ "payme_client_key": "XXXXXXXX", "seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567", "seller_site_url": "https://www.example.com", "seller_contact_phone": "+972501234567", "language": "en" }), }); console.log(await response.text()); ``` ### Python ```python import requests response = requests.post( "https://sandbox.payme.io/api/update-seller", json={ "payme_client_key": "XXXXXXXX", "seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567", "seller_site_url": "https://www.example.com", "seller_contact_phone": "+972501234567", "language": "en", }, ) print(response.text) ``` ### PHP ```php 'POST', CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', ], CURLOPT_POSTFIELDS => $body, ]); $response = curl_exec($ch); curl_close($ch); echo $response; ``` ## Responses ### 200 — OK (success) | Field | Type | Description | | --- | --- | --- | | `status_code` | integer | `0` on success. | | `session` | string | PayMe session ID. | | `seller_payme_id` | string | The seller's MPL. | | `seller_id` | string | Your own ID for the seller, or `null`. | | `seller_created` | string | When the seller was created, `yyyy-mm-dd hh:mm:ss`. | | `seller_active` | boolean | `true` when the seller is active. | | `seller_approved` | boolean | `true` when PayMe has approved the seller. Payouts need approval. | | `seller_is_deferred` | boolean | `true` when the seller has a deferred account. | | `seller_approved_date` | string | When PayMe approved the seller, or `null`. | | `seller_withdrawal_plan` | integer | `1` – manual, `2` – daily, `3` – monthly. | | `seller_withdrawal_date` | integer | Day of the month of the payout when `seller_withdrawal_plan` is `3`, otherwise `null`. | | `seller_allow_foreign_cards` | boolean | `true` when the seller accepts foreign cards. | | `seller_personal_details` | object | The seller's owner (primary individual). | | `seller_personal_details.seller_first_name` | string | First name. | | `seller_personal_details.seller_last_name` | string | Last name. | | `seller_personal_details.seller_social_id` | string | National ID number. | | `seller_personal_details.seller_social_id_issued` | string | ID issue date, `yyyy-mm-dd`. | | `seller_personal_details.seller_birthdate` | string | Date of birth, `yyyy-mm-dd`. | | `seller_personal_details.seller_date_of_birth` | string | Legacy copy of `seller_birthdate`. | | `seller_personal_details.seller_gender` | integer | `0` – male, `1` – female, `2` – other. | | `seller_personal_details.seller_email` | string | The seller's email address. | | `seller_personal_details.seller_phone` | string | The seller's phone number. | | `seller_personal_details.seller_first_name_en` | string | First name in English. | | `seller_personal_details.seller_last_name_en` | string | Last name in English. | | `seller_personal_details.seller_social_id_country` | string | Country that issued the ID, ISO 3166-1 alpha-2. | | `seller_personal_details.seller_has_criminal_record` | boolean | As declared during onboarding, or `null`. | | `seller_business_details` | object | The business. | | `seller_business_details.seller_inc` | integer | Incorporation type. `0` for a private individual. | | `seller_business_details.seller_inc_code` | string | Business registration number. | | `seller_business_details.seller_registration_date` | string | Business registration date, `yyyy-mm-dd`. | | `seller_business_details.seller_merchant_name` | string | The business's name. | | `seller_business_details.seller_merchant_name_en` | string | The business's name in English. | | `seller_business_details.seller_dba` | string | Legal (registered) name in Hebrew. | | `seller_business_details.seller_dba_en` | string | Legal (registered) name in English. | | `seller_business_details.seller_business_type` | integer | Business field code, as sent in `seller_person_business_type`. | | `seller_business_details.seller_site_url` | string | Website URL. | | `seller_business_details.seller_description` | string | Description of the business. | | `seller_business_details.seller_retail_type` | integer | `1` – card not present, `2` – card present, `4` – MOTO. | | `seller_business_details.seller_contact_email` | string | Contact email shown to buyers. | | `seller_business_details.seller_contact_phone` | string | Contact phone shown to buyers. | | `seller_business_details.seller_bank_account_code` | integer | Bank code (sent as `seller_bank_code`). | | `seller_business_details.seller_bank_account_branch` | integer | Bank branch (sent as `seller_bank_branch`). | | `seller_business_details.seller_bank_account_number` | string | Bank account number. | | `seller_business_details.seller_need_foreign_currency` | boolean | Whether the seller asked to work in foreign currencies, or `null`. | | `seller_business_details.seller_was_rejected_by_bank` | boolean | Whether a bank rejected the seller before, as declared, or `null`. | | `seller_business_details.seller_bank_rejection_reason` | string | The declared reason for the bank rejection, or `null`. | | `seller_business_details.seller_source_of_finance` | string | Declared source of finance, as an enum name, or `null`. | | `seller_business_details.seller_required_service_type` | string | Declared required service type, as an enum name, or `null`. | | `seller_business_details.seller_account_type` | string | Account type, as an enum name. | | `seller_address` | object | The business address. | | `seller_address.seller_address_city` | string | City. | | `seller_address.seller_address_street` | string | Street. | | `seller_address.seller_address_street_number` | string | Street number. | | `seller_address.seller_address_country` | string | Country, ISO 3166-1 alpha-2. | | `seller_processing_percent` | number | How much of the seller's processing limit is used, percent. | | `seller_processing_limit` | number | The seller's processing limit. | | `seller_timezone` | string | The seller's time zone, for example `Asia/Jerusalem`. | | `seller_display_language` | string | The seller's language, for example `he` or `en`. | ```json { "status_code": 0, "session": "a1B2c3D4", "seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567", "seller_id": "store-1001", "seller_created": "2026-01-15 10:30:00", "seller_active": true, "seller_approved": true, "seller_withdrawal_plan": 1, "seller_withdrawal_date": null, "seller_personal_details": { "seller_first_name": "Dana", "seller_last_name": "Levi", "seller_gender": 1, "seller_email": "dana@example.com" }, "seller_business_details": { "seller_inc": 0, "seller_merchant_name": "Dana Ceramics", "seller_site_url": "https://www.example.com", "seller_contact_phone": "+972501234567" }, "seller_address": { "seller_address_city": "Tel Aviv", "seller_address_country": "IL" }, "seller_display_language": "he" } ``` ### 500 — Error, for example error `33`: a locked field already has a value (error) | Field | Type | Description | | --- | --- | --- | | `status_code` | integer | `1` on failure. | | `status_error_code` | integer | PayMe error code. See [Errors](/payments/getting-started/errors). | | `status_error_details` | string | Error message, in the request's `language`. | | `status_additional_info` | string | Extra detail, such as the name of the missing or invalid field. Can be `null`. | | `session` | string | PayMe session ID. Quote it when you contact support. | ```json { "status_code": 1, "status_error_details": "Cannot update as field is already set", "status_additional_info": "seller_bank_account_number", "status_error_code": 33, "session": "a1B2c3D4" } ```