Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solution

      alipay.overseas.secmerchant.offline.maintain

      Call this interface to register secondary merchants of in-store payments into Alipay system, or to update registration information of secondary merchants.

      #Request

      #Service address

      Environment HTTPS request URL
      Production environment

      Priority: https://globalmapi.alipay.com/gateway.do

      Backup: https://intlmapi.alipay.com/gateway.do

      Test environmenthttps://mapi.alipaydev.com/gateway.do

      #Request parameters

      ParameterDescription
      Basic parameter

      service

      String Required

      Interface name

      Example:alipay.overseas.secmerchant.offline.maintain

      partner

      String(16) Required

      The partner ID that is assigned by Alipay to identify an Alipay account. The partner ID is composed of 16 digits and begins with 2088. 

      Example:2088*********662

      _input_charset

      String Required

      The charset with which the request data are encoded. UTF-8, GBK, and GB2312 are supported. 

      Example:UTF-8

      sign_type

      String Required

      Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.

      Example:MD5

      sign

      String Required

      Sign value

      Example:2118ac8fad6bc1d9e88a6cd017c18d37

      timestamp

      String Required

      The time when the merchant server sends the request. The time is in GMT+8, with a format of yyyy-MM-dd HH:mm:ss. By default, the request expires in 30 minutes.

      Example:2012-12-21 17:11:16

      Business parameter for both acquirers and system integrators

      secondary_merchant_name

      String(128) Required

      Registration legal name of the secondary merchant, which is shown in the wallet and reconciliation file to identify a secondary merchant.

      Note: If the secondary merchant type is INDIVIDUAL, specify the full legal name of the business owner to this field. 

      Example:Alipay (China) Network Technology Co., Ltd

      secondary_merchant_id

      String(64) Required

      The unique ID assigned by the partner to identify a secondary merchant. The ID can contain letters, numbers, and underscores, but special characters or spaces are not allowed. Note: It is strongly suggested to keep the value within 20 bytes, for the convenience of management.

      Example:63472327348

      store_id

      String(64) Required

      The unique ID assigned by the partner to identify a store of a secondary merchant. For taxicabs and limousines (MCC 4121), use the license plate number.

      Notes:

      1. Special characters or spaces are not allowed.
      2. It is strongly suggested to keep the value within 20 bytes, for the convenience of management.

      Example:23372327348

      store_name

      String(256) Required

      Store name. For taxicabs and limousines (MCC 4121), use the license plate number.

      Example:Apple store

      store_country

      String(2) Required

      Store registration country. A 2-letter code defined in ISO 3166. 

      Example:US

      store_address

      String(330) Required

      Registered store address. Use postal address format.

      Example:No.276, Road YinCheng, Shanghai

      store_industry

      String(4) Required

      A 4-digit MCC code of the store. See MCC list for details.

      Example:4121

      internal_store_photo

      String(256)

      URL of the store interior photo.

      Example:http://testmerchant.com/

      external_storefront_photo

      String(256)

      URL of the store exterior photo.

      Example:http://testexterior.com/

      extend_params

      String(1024)

      Information about taxi drivers in the JSON format, with fixed JSON keys of operation_id, contact_way, and contact_person. This field is optional.

      Notes:

      • The value of each operation_id must be unique.
      • This field cannot be updated after the first time you register a driver.
      • Up to 10 drivers can be entered with this parameter. 

      Example:[{"operation_id": "1000332", "contact_way": "138xxxx1232", "contact_person": "driverName1"}, {"operation_id": "1082943492", "contact_way": "158xxxx2232", "contact_person": "driverName2"}]

      Business parameter for acquirers only

      secondary_merchant_type

      String Required

      Secondary merchant type, the value can be INDIVIDUAL for the sole proprietorship or ENTERPRISE for the limited company, private company, partnership, limited liability partnership (LLP), limited liability company (LLC), S corporation (S Corp), C corporation (C Corp), trust, or nonprofit organization (NPO) 

      Example:INDIVIDUAL

      registration_no

      String(128)Required

      Business registration number specified on the business registration document.

      Example:012345678

      register_country

      String(2) Required

      Registration country of the secondary merchant, specified by a 2-letter code defined in ISO 3166. For more details about the 2-letter country code, see ISO 3166.

      Example:US

      register_address

      String(256) Required

      Business registration address specified on the business registration document. Use postal address format.

      Example:No.277, Road YinCheng, Shanghai, China

      shareholder_name

      String(64)

      Legal name of the primary shareholder of the secondary merchant. Specify this field only when the secondary merchant type is ENTERPRISE.

      Example:Jack Li (if the shareholder is an individual), Alipay.com Co.,Ltd (if the shareholder is an enterprise)

      shareholder_id

      String(128)

      ID or passport number, or business registration number of the primary shareholder of the secondary merchant. Specify this field only when the secondary merchant type is ENTERPRISE. 

      Example:G53453888 (if the shareholder is an individual), 012345678 (if the shareholder is an enterprise)

      representative_name

      String(64)

      Full legal name of the business owner. Specify this field only when the secondary merchant type is INDIVIDUAL. This field is optional if the secondary merchant type is ENTERPRISE.

      Example:Tom Li

      representative_id

      String(128)

      ID or passport number of the business owner. Specify this field only when the secondary merchant type is INDIVIDUAL. This field is optional if the secondary merchant type is ENTERPRISE.

      Example:123456789

      settlement_no

      String(64)

      Settlement bank account number of the secondary merchant. Use letters and numbers only. 

      Example:2600100000

      contact_no

      String(64) 

      Contact phone number of the secondary merchant, numbers and special characters +-() only

      Example:186xxxx0000

      contact_email

      String(128)

      Contact email address of the secondary merchant

      Example:tomli@gmail.com

      cs_no

      String(64)

      Customer service phone number of the secondary merchant, numbers and special characters +-() only

      Example:952xx

      cs_email

      String(128)

      Customer service email address of the secondary merchant

      Example:customerservice@xxxcompany.com

      shareholder_nationality

      String(2)

      Nationality of the primary shareholder, specified by a 2-letter code defined in ISO 3166. For more details about the 2-letter country code, see ISO 3166. Specify this field only when the secondary merchant type is ENTERPRISE.

      Example: CN

      representative_nationality

      String(2)

      Nationality of the legal representative, specified by a 2-letter code defined in ISO 3166. For more details about the 2-letter country code, see ISO 3166. Specify this field only when the secondary merchant type is INDIVIDUAL. This field is optional if the secondary merchant type is ENTERPRISE.

      Example: CN

      store_city

      String(128)

      City of the registered store.

      Example: Shanghai

      #extend_params

      The extend_params field specifies the taxi driver information. Taxi driver information in JSON format uses operation_id, contact_way, and contact_person as JSON keys. Up to 10 drivers can be entered with this field.

      ParameterDescription

      operation_id

      String(64) 

      Taxi driver ID. Use only numbers and letters.

      Note: The value of each operation_id must be unique. Specify this field the first time you register a driver, and you cannot add or update this field later. 

      Example:1082943492

      contact_way

      String(256)

      Phone number of the taxi driver.

      Note: +, -, numbers, and spaces are supported.

      Example:158xxxx2232

      contact_person

      String(64) 

      Taxi driver name

      Example:driverName2

      Note:

      If parameters of String type have no length limitation, the system will not check their length.

      #Response

      #Synchoronouse response

      ParameterDescription
      Basic parameter

      is_success

      String Required

      Indicates whether the request succeeds or not, with a value of T for success and F for failure.

      Note: a successful request does not mean the business is accepted and processed successfully.

      Example:T

      sign_type

      String

      Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.

      Example:MD5

      sign

      String

      Sign value

      Example:3afc92ac4708425ab74ecb2c4e58ef56

      error

      String

      Error code that is returned when the request is failed to describe the request failure reason. For more information, see the Error Code section in this document. 

      Example:PARAM_ILLEGAL

      result_code

      String

      Processing result of the request. This field is returned only when the is_success field is T. 

      Example:SUCCESS

      Note:

      The synchronous response might have more parameters due to the upgrade on the Alipay server side. You can ignore parameters that are not included in this API document. 

      #Error codes

      #Business errors

      Returned resultDescription
      MCC_TYPE_ILLEGAL

      The MCC is invalid. 

      Action: Modify the MCC type and then try again.

      PARAM_ILLEGAL

      The parameter is illegal. The parameter is too long, parameter format is wrong, or a required parameter is not passed. 

      Action: Check and rectify the parameter according to the API document.

      SYSTEM_ERROR

      Alipay system error

      Action: Try again later.

      LBS_GEOGRAPHIC_INFORMATION_INVALID

      The address cannot match the country/region, or the address cannot be located. 

      Action: Ensure that the address is valid and use the address that can be located in Google map.

      CATEGORY_NOT_SUPPORT_DRIVER

      If the store_industry field is 4121, and the extend_params field is not passed when you send a request for the first time, this error is returned when you update the store information and pass the driver information. 

      Action: When the store_industry field is 4121, the extend_params field must be specified.

      DUPLICATE_REQUEST

      Duplicate request submitted. The previous registration request is still in process.

      Action: Wait until the previous registration request completes.

      MERCHANT_TYPE_ILLEGAL

      Illegal secondary merchant type. The value of the secondary_merchant_type field can only be ENTERPRISE or INDIVIDUAL. 

      Action: Enter the correct value for the secondary_merchant_type field.

      BUSINESS_NAME_UPDATE_FORBIDDEN

      The secondary_merchant_name field cannot be updated because the business name is not allowed to be updated.

      REGISTRATION_NO_UPDATE_FORBIDDEN

      The registration_no field cannot be updated because the registration number is not allowed to be updated.

      REGISTER_COUNTRY_UPDATE_FORBIDDEN

      The register_country field cannot be updated because the registration country is not allowed to be updated.

      MERCHANT_TYPE_UPDATE_FORBIDDEN

      The secondary_merchant_type field cannot be updated because the merchant type is not allowed to be updated.

      REPRESENTATIVE_NAME_UPDATE_FORBIDDEN

      The representative_name field cannot be updated because the representative name is not allowed to be updated.

      REPRESENTATIVE_ID_UPDATE_FORBIDDEN

      The representative_id field cannot be updated because the representative ID is not allowed to be updated.

      #Access errors

      Returned resultDescription
      ILLEGAL_SIGNIllegal signature
      ILLEGAL_DYN_MD5_KEYDynamic key information is incorrect
      ILLEGAL_ENCRYPTEncryption is incorrect
      ILLEGAL_ARGUMENTIncorrect parameter
      ILLEGAL_SERVICEService parameter is incorrect
      ILLEGAL_USERUser ID is incorrect
      ILLEGAL_PARTNERIncorrect Partner ID
      ILLEGAL_EXTERFACEInterface configuration is incorrect
      ILLEGAL_PARTNER_EXTERFACEPartner's interface information is incorrect
      ILLEGAL_SECURITY_PROFILEMatching private key configuration is not found
      ILLEGAL_AGENTAgency ID is incorrect
      ILLEGAL_SIGN_TYPEThe signature type is incorrect
      ILLEGAL_CHARSETThe character set is illegal
      HAS_NO_PRIVILEGEHas no right to visit
      INVALID_CHARACTER_SETThe character set is invalid

      #System errors

      Returned resultDescription
      SYSTEM_ERRORAlipay system error
      SESSION_TIMEOUTSession timeout
      ILLEGAL_TARGET_SERVICEWrong target service
      ILLEGAL_ACCESS_SWITCH_SYSTEMMerchant is not allowed to visit system of this type
      EXTERFACE_IS_CLOSEDThe interface is closed


      #Samples

      #Request

      Request sample for a store to register:

      https://intlmapi.alipay.com/gateway.do?service=alipay.overseas.secmerchant.offline.maintain&partner=208xxxxxxxxx8155&_input_charset=UTF-8&sign_type=MD5&timestamp=2019-09-04%2000%3A00%3A12&secondary_merchant_name=Mika's%20coffee%20shop&secondary_merchant_id=1314520&store_id=1993&store_name=Mika's%20coffee%20shop&store_country=US&store_address=3%20Old%20Concord%20Rd%2C%20Burlington%2C%20MA%2001803%E7%BE%8E%E5%9B%BD&store_industry=5499&internal_store_photo=https%3A%2F%2Fwww.mikascoffee%2Fimg_321323.jpg&external_storefront_photo=https%3A%2F%2Fwww.mikascoffee%2Fimg_321322.jpg&secondary_merchant_type=INDIVIDUAL&registration_no=1314520&register_country=US&register_address=3%20Old%20Concord%20Rd%2C%20Burlington%2C%20MA%2001803%E7%BE%8E%E5%9B%BD&shareholder_name=mika&shareholder_id=342xxxxxxxxx0000&contact_no=%2B8618688888888&sign=af2d1f166779562fae5dfb056daf7196


      Request sample for a taxi to register:

      https://intlmapi.alipay.com/gateway.do?service=alipay.overseas.secmerchant.offline.maintain&partner=208xxxxxxxxx8155&_input_charset=UTF-8&sign_type=MD5&timestamp=2019-09-04 00%3A00%3A12&secondary_merchant_name=Mika's coffee shop&secondary_merchant_id=1314520&store_id=3344&store_name=Mika's drive&store_country=US&store_address=3 Old Concord Rd%2C Burlington%2C MA 01803&store_industry=4121&extend_params=[{"operation_id"%3A"1000332"%2C"contact_way"%3A"138xxxxx1232"%2C"contact_person"%3A"Driver Li"}%2C{"operation_id"%3A"1000333"%2C"contact_way"%3A"13888881232"%2C"contact_person"%3A"Tom"}]&secondary_merchant_type=INDIVIDUAL&registration_no=1314520&register_country=US&register_address=3 Old Concord Rd%2C Burlington%2C MA 01803&shareholder_name=mika&shareholder_id=3428000000000000&contact_no=%2B8618688888888&sign=7daf7f81bbfb77037bb3d6a5b177725f


      #Response

      Request succeeds:

      copy
      <?xml version="1.0" encoding="utf-8"?>
      <alipay>
          <is_success>T</is_success>
          <request>
              <param name="service">alipay.overseas.secmerchant.offline.maintain</param>
              <param name="partner">208xxxxxxxxx8662</param>
              <param name="_input_charset">UTF-8</param>
              <param name="sign_type">MD5</param>
              <param name="sign">2118ac8fad6bc1d9e88a6cd017c18d37</param>
              <param name="timestamp">2018-08-03 00:28:32</param>
              <param name="secondary_merchant_name">Alipay (China) Network Technology Co., Ltd</param>
              <param name="secondary_merchant_id">201xxxxxxxxx0462</param>
              <param name="store_id">233xxxx7348</param>
              <param name="store_name">LV</param>
              <param name="store_country">HK</param>
              <param name="store_address">No.276, Road YinCheng, Shanghai</param>
              <param name="store_industry">4121</param>
              <param name="secondary_merchant_type">INDIVIDUAL</param>
              <param name="registration_no">012345678</param>
              <param name="register_country">HK</param>
              <param name="register_address">No.277, Road YinCheng, Shanghai, China</param>
              <param name=“representative_name”>Tom Li</param>
              <param name=“representative_id”>123456789</param>
              <param name="settlement_no">2600100000</param>
              <param name="contact_no">186xxxx0000 </param>
              <param name="contact_email">support@xcompany.com </param>
          </request>
      <response>
          <alipay>
              <result_code>SUCCESS</result_code>
          </alipay>
      </response>
      <sign>744a87f0e3b40e6a8cd8f9705ce61511</sign>
      <sign_type>MD5</sign_type>
      </alipay>

      Request fails or the access data are wrong:

      copy
      <?xml version="1.0" encoding="utf-8"?>
      <alipay>
          <is_success>F</is_success>
          <error>ILLEGAL_SIGN</error>
      </alipay>