Submerchant

After the approval of the marketplace transaction, submerchants are required to have records at iyzico APIs to facilitate the money transfer. Since the merchant already has access to the submerchant details such like, email, address, name, taxoffice, it can be seamlessly transmitted to the iyzico Onboarding API for submerchant account creation and updates.

Submerchant Services

Submerchant Creation

Possible submerchants can be one of the following 3 types:

  1. Individual

  2. Sole Proprietorship

  3. Limited/Incorporated Company.

The parameters sent during the sub-merchant registration process may vary depending on the specific transaction type. Upon the completion of a sub-merchant registration, the response will include a unique subMerchantKey assigned to that particular seller. It is essential to securely store this value within your system, as you will need to provide the subMerchantKey when identifying the seller during the payment process.

When transmitting parameters to iyzico, it is crucial to ensure that all values are genuine and accurately reflect the required information. Please refrain from sending random, test, or non-authentic data.

Individual Submerchant Request

POST https://api.iyzipay.com/onboarding/submerchant

Request Body

Name
Type
Description

locale

String

Language (default: tr)

conversationId

String

If set, conversation ID to match request and response

subMerchantExternalId*

String

Merchant identification number on your system

subMerchantType*

String

The PERSONAL value must be sent for the individual type of submerchants .

address*

String

Address of submerchant

contactName*

String

Contact name of submerchant

contactSurname*

String

Surname of submerchant

email*

String

Email of submerchant

gsmNumber

String

GSM of submerchant

name

String

Name of submerchant

iban

String

IBAN of submerchant. Its expected that contactName and contactSurname matches with IBAN. Even if it left blank while creating the submerchant, it must be filled before approving the payment.

identityNumber

String

ID of submerchant

currency

String

Default is TL. Alternatives; USD, EUR, GBP, CHF and NOK

Sole Proprietorship Submerchant Request

POST https://api.iyzipay.com/onboarding/submerchant

Request Body

Name
Type
Description

locale

String

Language (default: tr)

conversationId

String

If set, conversation ID to match request and response

subMerchantExternalId*

String

Merchant identification number on your system

subMerchantType*

String

The PRIVATE_COMPANY value must be sent for the sole proprietorshop type of submerchants .

address*

String

Address of submerchant

contactName*

String

Contact name of submerchant

contactSurname*

String

Surname of submerchant

email*

String

Email of submerchant

gsmNumber

String

GSM of submerchant

name

String

Name of submerchant

iban

String

IBAN of submerchant. Its expected that contactName and contactSurname matches with IBAN. Even if it left blank while creating the submerchant, it must be filled before approving the payment.

identityNumber

String

ID of submerchant

currency

String

Default is TL. Alternatives; USD, EUR, GBP, CHF and NOK

taxOffice

String

Tax office of submerchant

legalCompanyTitle

String

Legal Company Title of submerchant

Limited/Incorporated Company Submerchant Request

POST https://api.iyzipay.com/onboarding/submerchant

Request Body

Name
Type
Description

locale

String

Language (default: tr)

conversationId

String

If set, conversation ID to match request and response

subMerchantExternalId*

String

Merchant identification number on your system

subMerchantType*

String

The LIMITED_OR_JOINT_STOCK_COMPANY value must be sent for the sole proprietorshop type of submerchants .

address*

String

Address of submerchant

contactName*

String

Contact name of submerchant

contactSurname*

String

Surname of submerchant

email*

String

Email of submerchant

gsmNumber

String

GSM of submerchant

name

String

Name of submerchant

iban

String

IBAN of submerchant. Its expected that contactName and contactSurname matches with IBAN. Even if it left blank while creating the submerchant, it must be filled before approving the payment.

identityNumber

String

ID of submerchant

currency

String

Default is TL. Alternatives; USD, EUR, GBP, CHF and NOK

legalCompanyTitle

String

Legal Company Title of submerchant

taxNumber*

String

Tax number of submerchant

taxOffice*

String

Tax office of submerchant

Submerchant Creation Response

Output Name
Type
Description

subMerchantKey

String

Key of submerchant

status

String

Service response result (success / failure)

errorCode

String

Error code if service response status is failure

errorMessage

String

Error message if service response status is failure

errorGroup

String

Error group if service response status is failure

locale

String

Language (default: tr)

systemTime

Integer

Response system timestamp value

conversationId

String

If set, conversation ID to match request and response

Submerchant Creation Sample Codes

Individual Submerchant Creation Request;

$request = new \Iyzipay\Request\CreateSubMerchantRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setSubMerchantExternalId("S49222");
$request->setSubMerchantType(\Iyzipay\Model\SubMerchantType::PERSONAL);
$request->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$request->setContactName("John");
$request->setContactSurname("Doe");
$request->setEmail("email@submerchantemail.com");
$request->setGsmNumber("+905350000000");
$request->setName("John's market");
$request->setIban("TR180006200119000006672315");
$request->setIdentityNumber("31300864726");
$request->setCurrency(\Iyzipay\Model\Currency::TL);

$subMerchant = \Iyzipay\Model\SubMerchant::create($request, Config::options());

Sole Proprietorship Submerchant Creation Request;

$request = new \Iyzipay\Request\CreateSubMerchantRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setSubMerchantExternalId("S49222");
$request->setSubMerchantType(\Iyzipay\Model\SubMerchantType::PRIVATE_COMPANY);
$request->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$request->setTaxOffice("Tax office");
$request->setLegalCompanyTitle("John Doe inc");
$request->setEmail("email@submerchantemail.com");
$request->setGsmNumber("+905350000000");
$request->setName("John's market");
$request->setIban("TR180006200119000006672315");
$request->setIdentityNumber("31300864726");
$request->setCurrency(\Iyzipay\Model\Currency::TL);

$subMerchant = \Iyzipay\Model\SubMerchant::create($request, Config::options());

Limited/Incorporated Company Submerchant Creation Request;

$request = new \Iyzipay\Request\CreateSubMerchantRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setSubMerchantExternalId("S49222");
$request->setSubMerchantType(\Iyzipay\Model\SubMerchantType::LIMITED_OR_JOINT_STOCK_COMPANY);
$request->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$request->setTaxOffice("Tax office");
$request->setTaxNumber("31300864726");
$request->setLegalCompanyTitle("John Doe inc");
$request->setEmail("email@submerchantemail.com");
$request->setGsmNumber("+905350000000");
$request->setName("John's market");
$request->setIban("TR180006200119000006672315");
$request->setCurrency(\Iyzipay\Model\Currency::TL);

$subMerchant = \Iyzipay\Model\SubMerchant::create($request, Config::options());

Last updated