KYC Application (For VA)¶
Tip
- This request uses
Postand the data format ismultipart/form-data.
Brief Description¶
This API is used to submit user KYC information for Japan bank transfer and Dedicated VA scenarios.
After KYC is approved, the user can use Japan local payment capabilities that require identity verification, such as:
- Japan Dedicated VA
- Other Japan local payment methods that require real-name verification
Request URL¶
/v1/vexora/kycApplyFor
Request Method¶
- Method: POST
- Content-Type: multipart/form-data
Header¶
| header | Required | Type | Description |
|---|---|---|---|
| merchantNo | Yes | String | Merchant number assigned by Vexora. This value must be submitted in the request header. |
Body¶
| Parameter | Required | Type | Description |
|---|---|---|---|
| sign | Yes | String | Request signature. Sort all non-empty form fields except sign by parameter name in ascending alphabetical order, concatenate them as key1=value1key2=value2, append the app secret, and generate a lowercase MD5 hash. File content is not included in the signature string. |
| timestamp | Yes | String | Request timestamp in milliseconds, for example 1715941383720. |
| userId | Yes | String | Merchant-side user identifier. This value must uniquely identify the user within the merchant system. |
| callBackUrl | Yes | String | HTTPS callback URL used to receive the final KYC review result. |
| usernameKanji | Yes | String | User's legal name in Kanji or Japanese characters, consistent with the submitted identity document. |
| usernameFurigana | Yes | String | User's legal name in Furigana, consistent with the submitted identity document. |
| dateOfBirth | Yes | String | User date of birth. Format: yyyyMMdd, for example 19771002. |
| nationality | Yes | String | User nationality, using ISO country code such as JP. |
| address | Yes | String | User residential address. Submit the full address as shown in the user's supporting documents when applicable. |
| phone | Yes | String | User mobile number. Use an 11-digit Japanese mobile number starting with 0, without country code, for example 09012345678. |
| Yes | String | User email address. | |
| recipientName | Yes | String | Bank account holder name. It should match the account information submitted for verification. |
| bankCode | Yes | String | Bank code. Refer to the Disbursement Bank Codes appendix. |
| branchName | Yes | String | Bank account branch name. |
| branchCode | Yes | String | Bank account branch code. |
| incomeSource1 | Yes | String | Employment income indicator. 0: No, 1: Yes. |
| incomeSource2 | Yes | String | Self-employment income indicator. 0: No, 1: Yes. |
| incomeSource3 | Yes | String | Investment income indicator. 0: No, 1: Yes. |
| incomeSource4 | Yes | String | Other income indicator. 0: No, 1: Yes. |
| documentFrontFile | Yes | File | Front side of the user's identity document. Only PDF is supported. Maximum file size: 2 MB. |
| documentBackFile | Yes | File | Back side of the user's identity document. Only PDF is supported. Maximum file size: 2 MB. |
Request Parameter Example¶
curl --request POST \
--url https://sandbox-api.vexora.com/japan/v1/vexora/kycApplyFor \
--header 'content-type: multipart/form-data' \
--header 'merchantNo: 4949866080' \
--form userId=jp_user_100008 \
--form callBackUrl=https://merchant.example.com/api/vexora/kyc/notify \
--form 'usernameKanji=åąąį° åĪŠé' \
--form 'usernameFurigana=ãĪãã ãŋããĶ' \
--form dateOfBirth=19771002 \
--form nationality=JP \
--form 'address=æąäšŽé―æļč°·åšéįå1-2-3' \
--form phone=09012345678 \
--form email=taro.yamada@example.com \
--form 'recipientName=åąąį° åĪŠé' \
--form bankCode=0005 \
--form 'branchName=æ°åŪŋæŊåš' \
--form branchCode=123 \
--form incomeSource1=0 \
--form incomeSource2=1 \
--form incomeSource3=1 \
--form incomeSource4=0 \
--form documentFrontFile=@front.pdf \
--form documentBackFile=@back.pdf \
--form sign=aa3d61235fb4b1f13e44c95b98d3fff1 \
--form timestamp=1774925553256
Response Result¶
| Parameter | Required | Type | Description |
|---|---|---|---|
| msg | Yes | String | Request message. A value such as success only indicates that the API request was accepted, not the final KYC review result. |
| code | Yes | String | API request status code. 0000 means the request was processed successfully by the API layer. The final KYC result must be determined by data.authenticationStatus or the KYC callback. |
| timestamp | Yes | String | Response timestamp in milliseconds. |
| success | Yes | Boolean | API request result. This field indicates whether the API request succeeded. |
| data | Yes | Object | KYC application response object. |
| data.kycNumber | Yes | String | KYC application number generated by Vexora. Use this value for troubleshooting and reconciliation when needed. |
| data.authenticationStatus | Yes | String | KYC review status. 0: Pending certification, 1: Under review, 2: Approved, 3: Rejected. |
| data.message | Yes | String | Status description returned by the platform. |