Update a seller
- 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 sendseller_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 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.
Errors
Every error returns status_code 1 with the code in status_error_code. Besides the field validation errors listed on Create a 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.
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. 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. An unknown or inactive code returns error 110. |
seller_inc |
integer | no | Incorporation type, see Seller incorporation types. 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. |
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. |
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 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); another type returns error 160. |
seller_additional_details[].files[].type |
integer | yes | File type code, 90–97. See 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
{
"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
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
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
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
$body = <<<'BODY'
{
"payme_client_key": "XXXXXXXX",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"seller_site_url": "https://www.example.com",
"seller_contact_phone": "+972501234567",
"language": "en"
}
BODY;
$ch = curl_init('https://sandbox.payme.io/api/update-seller');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => '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. |
{
"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. |
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. |
{
"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"
}