NAV
shell

Introduction

Welcome to the SWAPAY API!

The Sandbox SWAPAY API endpoint is https://staging-api.swa-pay.com.
The Production SWAPAY API endpoint is https://api.swa-pay.com.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "https://staging-api.swa-pay.com" \
  -H "Authorization: meowmeowmeow"

Make sure to replace meowmeowmeow with your API key.

SWAPAY uses API keys to allow access to the API. You can register a new SWAPAY API key at our merchant console.

SWAPAY expects for the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: meowmeowmeow

Orders

Create a new Order

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/order' \
--header 'Authorization: meowmeowmeow' \
--header 'Content-Type: application/json' \
--data-raw '{
    "pay_amount": 1000.0,
    "currency": "JPY",
    "customer_id": "1000",
    "customer_order_id": "1001",
    "description": "NFT",
    "success_url": "https://swapay.co.jp/",
    "callback_url": "https://swapay.co.jp/",
    "cancel_url": "https://swapay.co.jp/"
}'

The above command returns JSON structured like this:

{
    "id": "8405b5f8-0244-4bd5-97cb-748ddeac6b13",
    "pay_amount": 1000.0,
    "currency": "JPY",
    "customer_id": "1000",
    "customer_order_id": "1001",
    "description": null,
    "consumer_id": null,
    "store": {
        "id": "0d630192-d7f3-4c05-8540-19d91f2aaa4b",
        "store_name": "NFT SWAP STORE 3",
        "office_name": "NFT SWAP STORE"
    },
    "merchant": {
        "id": "af40eee0-81ad-4e29-a8ea-87603b3f8282",
        "display_name": "Kenji Umemura"
    },
    "success_url": "https://swapay.co.jp/",
    "cancel_url": "https://swapay.co.jp/",
    "callback_url": "https://swapay.co.jp/",
    "status": "WAITING_FOR_PAYMENT",
    "user_create": null,
    "create_date": "2022-07-25T05:34:31.631+00:00",
    "user_update": null,
    "update_date": null,
    "payment_url": "https://staging-api.swa-pay.com/gateway/payment/8405b5f8-0244-4bd5-97cb-748ddeac6b13",
    "pay_method": null,
    "pay_times": null
}

Abnormal

{
    "code": "101",
    "message": "Missing amount",
    "errors": null
}

This endpoint will help you to start a transaction

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/order

JSON Object Payload Parameters

Parameter Type Required Description
pay_amount Double true Amount of the transaction
currency String false The currency used for payment. Default is JPY
description String false Description of the transaction
customer_id String false The customer id on merchant system
customer_order_id String false The order id on merchant systems
success_url String false Redirect to success_url after successful payment
callback_url String false JSON-formatted POST notification message will be sent to callback_url when order status is changed. If the callback is empty, we can send information to merchant's email.
cancel_url String false Redirect to cancel_url when buyer cancels the order
user_id String false The customer ID on SWAPay system (Returned in the user registration api)
consumer_email String false Email of customer
consumer_phone String false Phone of consumer

System will send confirmation message after payment with contact information registered with user_id.
If there is no user_id, you can send consumer_email or consumer_phone. So that the system can send a confirmation message after payment

Order Response Fields

Field Type Description
id UUID Payment request ID on NFT SWAP System
pay_amount Double Total amount to be paid
currency String The currency used for payment. Default is JPY
customer_id String The customer id on merchant system
user_id String false
customer_order_id String The order id on merchant systems
description String Description of the transaction
store
merchant
success_url String Redirect to success_url after successful payment
cancel_url String Redirect to cancel_url when buyer cancels the order
callback_url String JSON-formatted POST notification message will be sent to callback_url when order status is changed. If the callback is empty, we can send information to merchant's email.
status String Status of Payment request
pay_method String
payment_url String The customer will process the payment at this site.
pay_times Number
update_date DateTime
create_date DateTime

Add contact to order

curl --location --request POST "https://staging-api.swa-pay.com/api/v1/store/orders/contact" \
--header 'Authorization: meowmeowmeow' --header 'Content-Type: application/json' \
--data-raw '{
    "order_id": "fad32381-6bcb-4e46-ad45-8019abfc00f6",
    "phone": "09078115642",
    "country_code": "JP",
    "email": "test@gmail.com"
}'

The above command returns JSON structured like this:

{
    "id": "5c73f272-ebc8-4428-8a84-36e3d0230910",
    "pay_amount": 1000.0,
    "currency": null,
    "customer_id": null,
    "customer_order_id": null,
    "description": "Sample order",
    "consumer_id": null,
    "success_url": null,
    "cancel_url": null,
    "callback_url": null,
    "status": "WAITING_FOR_PAYMENT",
    "user_create": "af40eee0-81ad-4e29-a8ea-87603b3f8282",
    "create_date": "2022-07-08T07:43:02.612+00:00",
    "user_update": "af40eee0-81ad-4e29-a8ea-87603b3f8282",
    "update_date": "2022-07-08T07:43:02.612+00:00",
    "payment_url": "/gateway/payment/764acfd2-18dc-45ca-9596-fcd5ec4ddcc6"
}

This endpoint will add email or phone to order. The customers will need verify their contact.

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/store/orders/contact

Parameters

Parameter Description
order_id The ID of the order
email The email of customer
phone The phone of customer
country_code The customer's country code. Default JP

Update a order

curl --location --request PUT 'https://staging-api.swa-pay.com/api/v1/store/orders/c2b5512c-7ef2-4590-bfb7-3eb2874b2187' \
--header 'Authorization: meowmeowmeow' \
--header 'Content-Type: application/json' \
--data-raw '{
    "pay_amount": 1000
}'

The above command returns JSON structured like this:

{
    "id": "ed2b2b6c-f88a-468a-a94e-7585925e4e83",
    "pay_amount": 1000.0,
    "pay_next_month": 1000.0,
    "currency": "JPY",
    "customer_id": "1000",
    "customer_order_id": "1001",
    "description": "NFT",
    "consumer_id": null,
    "store": {
        "id": "eba99e3f-84bc-4b92-a215-e0289a5fdcb2",
        "store_name": "NFT SWAP STORE",
        "office_name": "NFT SWAP STORE"
    },
    "merchant": {
        "id": "af40eee0-81ad-4e29-a8ea-87603b3f8282",
        "display_name": "merchant@nft-swapay.com"
    },
    "success_url": "https://swapay.co.jp/",
    "cancel_url": "https://swapay.co.jp/",
    "callback_url": "https://3c80-2405-4802-9119-ab90-e86d-6d5a-d791-666c.ap.ngrok.io/gateway/receiving",
    "status": "WAITING_FOR_PAYMENT",
    "user_create": null,
    "create_date": "2022-08-13T02:14:41.314+00:00",
    "monthly_payment_date": null,
    "user_update": null,
    "update_date": "2022-08-13T02:14:41.314+00:00",
    "payment_url": "https://149c-123-20-166-241.ap.ngrok.io/gateway/payment/ed2b2b6c-f88a-468a-a94e-7585925e4e83",
    "pay_method": null,
    "pay_times": null,
    "consumer_email": null,
    "user_id": null,
    "subscribe": null
}

This endpoint will help you to change the payment details of transactions.

HTTP Request

PUT https://staging-api.swa-pay.com/api/v1/store/orders/{id}

JSON Object Payload Parameters

Parameter Type Required Description
pay_amount Double false Recurring payment amount
description String false Description of the transaction
date_payment DateTime false

Get All Orders

curl --location --request GET 'https://staging-api.swa-pay.com/api/v1/store/orders' \
--header 'Authorization: meowmeowmeow'

The above command returns JSON structured like this:

[
    {
        "id": "8405b5f8-0244-4bd5-97cb-748ddeac6b13",
        "pay_amount": 1000.0,
        "currency": "JPY",
        "customer_id": "1000",
        "customer_order_id": "1001",
        "description": null,
        "consumer_id": null,
        "store": {
            "id": "0d630192-d7f3-4c05-8540-19d91f2aaa4b",
            "store_name": "NFT SWAP STORE 3",
            "office_name": "NFT SWAP STORE"
        },
        "merchant": {
            "id": "af40eee0-81ad-4e29-a8ea-87603b3f8282",
            "display_name": "Kenji Umemura"
        },
        "success_url": "https://swapay.co.jp/",
        "cancel_url": "https://swapay.co.jp/",
        "callback_url": "https://swapay.co.jp/",
        "status": "WAITING_FOR_PAYMENT",
        "user_create": null,
        "create_date": "2022-07-25T05:34:31.631+00:00",
        "user_update": null,
        "update_date": null,
        "payment_url": "https://staging-api.swa-pay.com/gateway/payment/8405b5f8-0244-4bd5-97cb-748ddeac6b13",
        "pay_method": null,
        "pay_times": null
    }
]

This endpoint retrieves all Orders.

HTTP Request

GET https://staging-api.swa-pay.com/api/v1/store/orders

Query Parameters

Parameter Default Description
page 1
per_page 30

Get status a Order

curl --location --request GET "https://staging-api.swa-pay.com/api/v1/store/orders/5c73f272-ebc8-4428-8a84-36e3d0230910" \
--header 'Authorization: meowmeowmeow'

The above command returns JSON structured like this:

{
    "id": "5c73f272-ebc8-4428-8a84-36e3d0230910",
    "pay_amount": 1000.0,
    "currency": null,
    "customer_id": null,
    "customer_order_id": null,
    "description": "Sample order",
    "consumer_id": null,
    "success_url": null,
    "cancel_url": null,
    "callback_url": null,
    "status": "WAITING_FOR_PAYMENT",
    "user_create": "af40eee0-81ad-4e29-a8ea-87603b3f8282",
    "create_date": "2022-07-08T07:43:02.612+00:00",
    "user_update": "af40eee0-81ad-4e29-a8ea-87603b3f8282",
    "update_date": "2022-07-08T07:43:02.612+00:00",
    "payment_url": "/gateway/payment/764acfd2-18dc-45ca-9596-fcd5ec4ddcc6"
}

This endpoint get a specific order information.

HTTP Request

GET https://staging-api.swa-pay.com/api/v1/store/orders/{id}

URL Parameters

Parameter Description
id The ID of the order

Order Status

Status Code Meaning
WAITING_FOR_PAYMENT The Waiting for payment status means that we still are waiting for payment.
OTP_CONFIRMING Waiting for OTP confirming from Email/SMS.
OTP_TIMEOUT Cannot confirm OTP after 30 minutes.
AUTHENTICATING_3DS Waiting for 3DS Authentication.
TIMEOUT_3DS 3DS timeout after 30 minutes.
PROCESSING The transaction is paid and waiting to be confirmed.
COMPLETE Transaction was successfully.
REFUNDED The transaction is refunded.
CANCEL The payment has been declined either by your payment operator or due to security reasons by our system.
ERROR Error returned from GMO

Callback Response Message

Each JSON-formatted POST notification message like this:

{
    "id": "d1702c31-617a-4d51-afca-d135e7034f8a",
    "pay_amount": 1000.0,
    "currency": "JPY",
    "customer_id": "1000",
    "customer_order_id": "1001",
    "status": "COMPLETE",
    "update_date": null,
    "pay_method": null,
    "pay_times": null
}

We'll let you know when a transaction changes status via callback_url.

Callback Response Fields

Field Type Description
id
pay_amount
currency
customer_id
customer_order_id
status
pay_method
pay_times
update_date
create_date

Settlement - No 3DS

Make a payment by communicating with the card company.

When making a payment using a token

When paying with a member ID

When making a payment using a card number - No 3DS

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/payment' \
--header 'Authorization: meowmeowmeow.' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": "8405b5f8-0244-4bd5-97cb-748ddeac6b13",
    "card_no": "4100000000000100",
    "expire": "12/25",
    "security_code": "123",
    "holder_name": "LYBIA SOFT"
}'

The above command returns JSON structured like this:

{
    "id": "d1702c31-617a-4d51-afca-d135e7034f8a",
    "pay_amount": 1000.0,
    "currency": "JPY",
    "customer_id": "1000",
    "customer_order_id": "1001",
    "status": "COMPLETE",
    "update_date": null,
    "pay_method": null,
    "pay_times": null
}

Abnormal

{
    "code": "M01004014",
    "message": "Order ID is already part of a transaction requesting settlement",
    "errors": [
        {
            "errInfo": "E01050004",
            "errCode": "E01"
        },
        {
            "errInfo": "M01004014",
            "errCode": "M01"
        }
    ]
}

This endpoint will help you to payment for a transaction

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/payment

JSON Object Payload Parameters

Parameter Required Description
id true ID of the transaction
card_no true credit card number
expire true Credit card expiration date - MMYY format
security_code true security code - The 3- or 4-digit number printed on the card
holder_name true Credit card name

Cancel a payment

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/payment_cancel' \
--header 'Authorization: meowmeowmeow.' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": "048874d9-3029-4c0f-a738-93b16c66d948"
}'

The above command returns JSON structured like this:

{
    "id": "048874d9-3029-4c0f-a738-93b16c66d948",
    "pay_amount": 1000.0,
    "currency": "JPY",
    "customer_id": "1000",
    "customer_order_id": "1001",
    "description": "NFT",
    "consumer_id": null,
    "success_url": "https://swapay.co.jp/",
    "cancel_url": "https://swapay.co.jp/",
    "callback_url": "https://149c-123-20-166-241.ap.ngrok.io/gateway/callback",
    "status": "REJECTED",
    "create_date": "2022-08-02T12:57:15.322+00:00",
    "update_date": "2022-08-02T12:57:18.066+00:00",
    "pay_method": null,
    "pay_times": null,
    "consumer_email": null,
    "payment_url": "/gateway/payment/048874d9-3029-4c0f-a738-93b16c66d948"
}

Abnormal

{
    "code": "303",
    "message": "The status of the order does not allow this action",
    "errors": null
}

This endpoint will help you to payment for a transaction

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/payment

JSON Object Payload Parameters

Parameter Required Description
id true ID of the transaction

Settlement - 3DS-2 (support for the GMO Gateway and the FinCode Gateway)

3DS-2 card number

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/payment' \
--header 'Authorization: meowmeowmeow.' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": "09e68717-391a-4b01-87cb-0ccd7305eb8e",
    "card_no": "4100000000000100",
    "expire": "12/25",
    "security_code": "123",
    "holder_name": "LYBIA SOFT"
}'

The above command returns JSON structured like this:

{
    "id": "09e68717-391a-4b01-87cb-0ccd7305eb8e",
    "acs": "2",
    "acs_url": "https://3c80-2405-4802-9119-ab90-e86d-6d5a-d791-666c.ap.ngrok.io/gateway/3ds/09e68717-391a-4b01-87cb-0ccd7305eb8e/3b79e76d924d7bdd29b10e001e08d500",
    "md": "3b79e76d924d7bdd29b10e001e08d500"
}

This endpoint will help you to start payment for a transaction

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/payment

JSON Object Payload Parameters

Parameter Required Description
id true ID of the transaction
acs true 2 => (3DS2.0)
acs_url true 3DS password input screen URL
md true Transaction ID on GMO System

Users

User registration

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/customers' \
--header 'Authorization: meowmeowmeow' \
--header 'Content-Type: application/json' \
--data-raw '{
    "phone": "+81973666666",
    "email": "thanhphat@gmail.com",
    "first_name": "Phat",
    "last_name": "Lam"
}'

The above command returns JSON structured like this:

{
    "id": "9b377f6c-6b83-42ac-866a-5a9a9171ca88",
    "active": false,
    "confirmed": false,
    "username": null,
    "first_name": "Phat",
    "last_name": "Lam",
    "email": "thanhphat@gmail.com",
    "phone": "+81973666666",
    "address": null
}

Abnormal

{
    "code": "E0010",
    "message": "Email is already used",
    "errors": null
}

This endpoint will help you register a user on SWAPAY system.

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/customers

JSON Object Payload Parameters

Parameter Required Description
customer_id false The customer id on merchant system
first_name false The member's first name
last_name false The member's last name
email true The member's email. If the member uses the phone number. Then no need for email
phone true The member's phone . If the member uses the mail. Then no need for phone
country_code false The member's country code. Default JP
address false The member's address

Error code list

Error Code Meaning
E0010 Email is already used
E0019 Customer ID is already used

User Response Fields

Field Type Description
id UUID User ID on SWAPay System
email String Email
first_name String First name
last_name String Last name
phone String Phone number
confirmed Boolean true if the customer's email is confirmed. false if the customer's email isn't confirmed
phone_confirmed_at DateTime The time when the phone is confirmed.
provider String PHONE if customer is registered with phone number. EMAIL if customer is registered with email address
address String Address
avatar String The avatar URL
create_date DateTime The time when customer is registered

Get User profile

curl --location --request GET 'https://staging-api.swa-pay.com/api/v1/customers/b68904c8-cb4b-4685-a7fb-3ee0cd99f5c2' \
--header 'Authorization: meowmeowmeow'

The above command returns JSON structured like this:

{
    "id": "b68904c8-cb4b-4685-a7fb-3ee0cd99f5c2",
    "confirmed": false,
    "phone_confirmed_at": null,
    "username": null,
    "first_name": null,
    "last_name": null,
    "display_name": "lybiasoft@gmail.com",
    "phone": null,
    "address": null,
    "avatar": null,
    "email": "lybiasoft@gmail.com",
    "country_code": null,
    "phone_e164": null,
    "provider": "EMAIL",
    "customer_id": null,
    "create_date": "2022-09-10T23:55:55.003+00:00"
}

Abnormal

{
    "code": "E0208",
    "message": "User not found",
    "errors": null
}

This endpoint will help you get a user profile on SWAPAY system.

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/customers/{id}

URL Parameters

Parameter Description
id The ID of the user

Update User profile

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/customers/9af4f665-9869-4c95-99ca-51d14a32d50f' \
--header 'Authorization: meowmeowmeow' \
--header 'Content-Type: application/json' \
--data-raw '{
    "phone": "+81973666666",
    "email": "thanhphat@gmail.com",
    "first_name": "Phat 1",
    "last_name": "Lam"
}'

The above command returns JSON structured like this:

{
    "id": "b68904c8-cb4b-4685-a7fb-3ee0cd99f5c2",
    "confirmed": false,
    "phone_confirmed_at": null,
    "username": null,
    "first_name": "Phat 1",
    "last_name": "Lam",
    "display_name": "Phat 1 Lam",
    "phone": "+81973666666",
    "address": null,
    "avatar": null,
    "email": "lybiasoft@gmail.com",
    "country_code": null,
    "phone_e164": null,
    "provider": "EMAIL",
    "customer_id": null,
    "create_date": "2022-09-10T23:55:55.003+00:00"
}

Abnormal

{
    "code": "E0010",
    "message": "Email is already used",
    "errors": null
}

This endpoint will help you update user profile on SWAPAY system.

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/customers/{id}

URL Parameters

Parameter Description
id The ID of the user

JSON Object Payload Parameters

Parameter Required Description
first_name false The member's first name
last_name false The member's last name
email true The member's email
phone true The member's phone
address false The member's address

Re-send verification message

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/customers/b68904c8-cb4b-4685-a7fb-3ee0cd99f5c2/resend_verification' \
--header 'Authorization: meowmeowmeow'

The above command returns JSON structured like this:

{
    "id": "b68904c8-cb4b-4685-a7fb-3ee0cd99f5c2",
    "confirmed": false,
    "phone_confirmed_at": null,
    "username": null,
    "first_name": null,
    "last_name": null,
    "display_name": "lybiasoft@gmail.com",
    "phone": null,
    "address": null,
    "avatar": null,
    "email": "lybiasoft@gmail.com",
    "country_code": null,
    "phone_e164": null,
    "provider": "EMAIL",
    "customer_id": null,
    "create_date": "2022-09-10T23:55:55.003+00:00"
}

Abnormal

{
    "code": "E0035",
    "message": "The customer is confirmed",
    "errors": null
}

This endpoint will help you resend the verification message to user.

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/customers/{id}/resend_verification

URL Parameters

Parameter Description
id The ID of the user

Verify user with phone number

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/verify' \
--header 'Content-Type: application/json' \
--data-raw '{
    "phone": "09078115642",
    "country_code": "JP",
    "code": "881495"
}'

The above command returns JSON structured like this:

{
    "id": "9af4f665-9869-4c95-99ca-51d14a32d50f",
    "active": false,
    "confirmed": false,
    "username": null,
    "first_name": null,
    "last_name": null,
    "email": null,
    "phone": "+819078115642",
    "address": null,
    "phone_confirmed_at": "2022-08-13T09:13:33.745+00:00"
}

This endpoint will help the customers verify their phone number. SWAPay system will send an OTP code via SMS. The customers need check the new SMS and input OTP.

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/verify

JSON Object Payload Parameters

Parameter Required Description
phone false The member's phone number
country_code false The member's country code. Default JP
code true The OTP code was send vis SMS

JSON Object Response

Parameter Description
id The SWAPay user id
phone The member's phone number
country_code The member's country code. Default JP
phone_confirmed_at The time when the phone is confirmed.

Membership card

Card registration

curl --location --request POST 'https://staging-api.swa-pay.com/api/v1/cards' \
--header 'Authorization: meowmeowmeow' \
--header 'Content-Type: application/json' \
--data-raw '{
    "user_id": "9af4f665-9869-4c95-99ca-51d14a32d50f",
    "card_no": "4100000000000100",
    "expire": "1225",
    "security_code": "123",
    "holder_name": "LYBIA SOFT"
}'

The above command returns JSON structured like this:

{
    "id": "35f7282f-c5c5-4d24-9c56-e5495f07cab4",
    "card_seq": "3",
    "short_card_no": "*************100",
    "card_name": null,
    "expire": null,
    "holder_name": null,
    "forward": "2a99662"
}

This endpoint will help you register the card information with the specified member.

HTTP Request

POST https://staging-api.swa-pay.com/api/v1/cards

JSON Object Payload Parameters

Parameter Required Description
user_id false The SWAPay user id
card_no true credit card number
expire true Credit card expiration date - MMYY format
security_code true security code - The 3- or 4-digit number printed on the card
holder_name true Credit card name

Response Fields

Field Type Description
id UUID Card ID on SWAPay System
card_seq String Card registration serial number
forward String Destination code
short_card_no String the masked value card number

Errors

The error response:

{
    "code": "101",
    "message": "Missing amount",
    "errors": null
}

HTTP Status codes:

Status Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The api requested is hidden for special roles.
404 Not Found -- The endpoint could not be found.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

The SWAPAY API Error code list

Error Code Meaning
101 Missing amount
303 The status of the order does not allow payment
304 The payment request ID is invalid
401 Incorrect password or email
403 Invalid authorization code
500 Internal error server
E0001 Passwords do not match
E0002 Change passwords do not succeeded
E0003 Password and New Password is same
E0004 Password not correct
E0005 Date format not correct
E0006 User does not have permission to access
E0007 Merchant does not exists
E0008 Password confirmation cannot be empty
E0009 Passwords do not match
E0010 Email is already used
E0011 User register not success
E0012 User does not active
E0013 User does not exists
E0014 Email or password not correct
E0015 Email is required
E0016 Username is required
E0017 Merchant contract is existed
E0018 An error occurred, register merchant contract is not success
E0019 Customer ID is already used
E0020 Delete merchant contract failed
E0021 Merchant Contract does not exist
E0022 Merchant isn't activated
E0013 Merchants don't own store
E0100 Regenerate token store do not succeeded
E0101 The store is not found
E0102 Update store is failed
E0103 Store has deleted, can not update.
E0104 Delete store is failed
E0105 Active store is failed
E0106 Store isn't activated
E0107 Store id required
E0108 Store is active, merchant is not permission not update
E0200 Update status order is not success
E0201 Order status not change
E0202 Missing pay times
E0203 Missing amount
E0204 Missing user ID
E0205 Invalid user ID
E0206 Transaction is not continuous payment
E0207 Create order is failed

Credit card payment error code

You can check at GMO Mulpay Docs.