Komoju API는 결제를 위한 RESTful HTTP 인터페이스를 제공합니다. 각 리소스에 대한 자세한 설명은 리소스 페이지를 확인해 주십시오.

현재 Komoju API는 다음의 8가지 결제 방법을 지원합니다: 신용카드, 은행 입금, 편의점 결제, PayEasy, 비트 캐쉬, NET CASH, nanaco, 웹머니

Komoju API로의 요청은 HTTPS를 사용해야 하며, 엔드포인트는 https://komoju.com/api/v1이어야 합니다. API에서 반환된 데이터는 JSON 포맷입니다. 요청 작성 시 문자 코드는 UTF-8을 이용해 주십시오.

인증

Komoju는 비밀 API 키 및 공개 API 키를 클라이언트에게 제공하므로 그 키로 API로의 요청을 작성할 수 있습니다. 테스트 환경용 및 운영 환경용으로 2개의 키가 준비됩니다. 이 키는 사용중의 클라이언트 계정 설정 페이지에서 확인할 수 있습니다.

Komoju API는 HTTP 기본 인증을 이용하여 API 요청을 인증하므로 이용중의 API 키를 유저 이름으로 사용해야 합니다. 비밀번호는 불필요합니다. 예를 들면 다음과 같은 코드입니다:

curl -u secret_key: "https://komoju.com/api/v1/payments"

응답 & 에러

HTTP 상태 코드

Komoju API는 HTTP 상태 코드를 이용하여 요청의 성공 및 실패를 표시합니다. 다음 표는 Komoju API가 반환하는 상태 코드 목록입니다.

상태 코드 설명
200 OK 서버가 요청을 정상적으로 처리했습니다
202 Accepted 리소스는 정상적으로 작성되었으나 프로세스가 완료되지 않았습니다
204 No Content 서버는 요청을 정상적으로 처리했으나 반환할 정보가 없습니다
401 Not Authorized API 키가 무효하거나 발견할 수 없습니다
403 Forbidden API 키에는 리소스에 액세스할 수 있는 권한이 없습니다
404 Not Found 리소스가 발견되지 않습니다
422 Unprocessible Entity 매개변수가 부적절하거나 누락되었습니다.
500 Internal Server Error Komoju 서버 내에서 오류가 발생되었습니다
502 Bad Gateway 상위 결제 프로세서가 에러를 반환했습니다
503 Service Unavailable 서버 점검중

에러

에러는 JSON 포맷으로 반환됩니다. codemessage 매개변수는 각각의 에러 메시지에 반환됩니다.

속성

매개변수 타입 상세 내용
message 문자열 에러 메시지 내용이 기재된 문자열
code 문자열 에러 코드
param 문자열 에러가 발생한 매개변수

JSON Object

{
  "error": {
     "message": "A required parameter (amount) is missing",
     "code": "missing_parameter",
     "param": "amount"
  }
}

에러 코드

에러 코드 HTTP 상태 코드 메시지 열
bad_request 400 올바르지 않은 요청입니다. 서버가 요청을 처리할 수 없습니다.
unauthorized 401 유저 인증에 실패했습니다.
not_found 404 리소스가 발견되지 않았습니다.
internal_server_error 500 내부 에러가 발생했습니다.
forbidden 403 리소스로의 액세스는 허용되지 않습니다.
unprocessable_entity 422 지정된 파라미터에 의미 오류가 있으므로 처리할 수 없습니다.
bad_gateway 502 상위 게이트웨이 에러를 반환했습니다.
gateway_timeout 504 지불 처리중에 게이트웨이 타임아웃이 발생했습니다. 청구 요청이 진행되지 않았습니다. 결제를 재시도해 주십시오.
service_unavailable 503 점검중입니다. 잠시 후에 다시 한 번 실행해 주십시오.
request_failed 402 리퀘스트가 실패했습니다.
invalid_payment_type 422 결제 방법이 무효합니다. %{provided}는 %{allowed}의 하나가 아닙니다.
invalid_token 422 토큰 값이 올바르지 않습니다.
invalid_currency 422 지정된 통화가 올바르지 않습니다.
not_refundable 422 환불할 수 없는 결제입니다.
not_capturable 422 The payment you requested is not capturable.
not_cancellable 422 취소할 수 없는 결제입니다.
fraudulent 422 부정행위의 의심이 있는 결제입니다.
invalid_parameter 422 %{param}의 값이 올바르지 않습니다.
missing_parameter 422 필수 파라미터(%{param})가 지정되지 않았습니다.
insufficient_funds 502 잔액 부족
used_number 502 이미 사용된 번호입니다
card_declined 502 카드가 거부되었습니다
invalid_password 502 비밀번호가 올바르지 않습니다
bad_verification_value 502 보안 코드가 올바르지 않습니다
exceeds_limit 502 결제 가능액을 초과했습니다
card_expired 502 카드 유효 기간이 만료되었습니다
invalid_number 502 지정된 번호가 올바르지 않습니다
invalid_account 502 Invalid account
other_invalid 502 Invalid card

10 이상의 아이템을 포함하는 요청은 디폴트에서 페이지가 구분됩니다. Komoju에서는 pageper_page 매개변수를 이용, 페이지를 구분합니다. per_page 매개변수의 최대치는 100입니다.

curl -u komoju-mart: "https://komoju.com/api/v1/payments?page=2&per_page=100"

결제

결제 리소스

필드 상세 내용
id 문자열
resource 문자열 payment의 값
status 문자열 결제 상황
amount 정수 과세 이전의 합계 금액. 0이상이어야 합니다. 소수점에는 '.'을 사용하고 천 단위를 표시하는 쉼표는 사용하지 않습니다.
tax 정수 과세하는 세금 금액, 또는 현재 일본에서 정해진 소비세를 사용할 때는 ‘auto’를 설정합니다. 소수점은 '.' 를 사용하고, 천 단위를 나타내는 쉼표는 사용하지 않습니다. 세금이 통화보다 정확하고 상세할 경우, 사사오입(四捨五入)의 알고리즘을 이용하여 조정합니다.
customer 문자열 고객 ID
payment_deadline 타임 스템프 결제 유효기간이 만료되는 일시입니다. 이것은 다음과 같은 ISO 8601 포맷 타임 스템프로 표시됩니다: YYYY-MM-DDTHH:MM:SSZ
payment_details 해시 또는 토큰 결제 방법을 나타냅니다
payment_method_fee 정수 특정 결제 방법에 추가되는 수수료 등
total 정수 결제 총금액. 이것은 결제 금액+세+결제 방법에 따른 수수료
currency 문자열 결제 시 3자의 ISO 통화 코드
description 문자열 결제 방법의 상세 내용(옵션이 유효한 경우에는 메일 내용에 반영됩니다)
captured_at 타임 스템프 결제가 보존된 일시를 표시하는 ISO 8601 포맷 타임 스템프
external_order_num 문자열 결제에서 클라이언트의 유니크 아이디입니다. 결제를 하나씩 지정할 수 있도록 모든 콜백이 반드시 포함됩니다.
metadata 해시 key-value의 페어 셋트
created_at 타임 스템프 결제가 작성된 일시를 표시하는 ISO 8601 포맷 타임 스템프
amount_refunded 정수 환불된 금액
locale 문자열 결제 메일이나 결제 방법 설명 등의 언어
refunds 해시 환불 정보
refund_requests 해시 환불 요청 정보

결제 상세 내용

하나 이상의 결제 방법을 추상화해 통일된 API를 제공하기 위해, Komoju API는 요청과 응답에 payment_details 해시를 사용합니다.

payment_details 해시는 credit_cardkonbinibank_transferpay_easyweb_moneybit_cashnanaconet_cash 중 어느 쪽의 값을 가지는 type 매개변수를 포함해야 합니다.

샘플

  • 신용카드
  • 편의점
  • 은행 입금
  • PayEasy
  • 웹머니
  • 비트 캐쉬
  • nanaco
  • NET CASH
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[family_name]=山田" \
  -d "payment_details[family_name_kana]=ヤマダ" \
  -d "payment_details[given_name]=太郎" \
  -d "payment_details[given_name_kana]=タロウ" \
  -d "payment_details[phone]=080-1111-2222" \
  -d "payment_details[type]=pay_easy" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[expiry_days]=3" \
  -d "payment_details[phone]=090-1111-2222" \
  -d "payment_details[store]=lawson" \
  -d "payment_details[type]=konbini" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=net_cash" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=web_money" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[expiry_days]=14" \
  -d "payment_details[family_name]=山田" \
  -d "payment_details[family_name_kana]=ヤマダ" \
  -d "payment_details[given_name]=太郎" \
  -d "payment_details[given_name_kana]=タロウ" \
  -d "payment_details[phone]=080-1111-2222" \
  -d "payment_details[type]=bank_transfer" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=KRW" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[culture_id]=11111111" \
  -d "payment_details[culture_password]=11111111" \
  -d "payment_details[type]=culture_voucher" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=nanaco" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[family_name]=Yamada" \
  -d "payment_details[given_name]=Taro" \
  -d "payment_details[month]=01" \
  -d "payment_details[number]=4111111111111111" \
  -d "payment_details[type]=credit_card" \
  -d "payment_details[verification_value]=123" \
  -d "payment_details[year]=2023" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=KRW" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[happy_money_id]=11111111" \
  -d "payment_details[happy_money_password]=11111111" \
  -d "payment_details[type]=happy_money" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=100" \
  -d "currency=JPY" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=bit_cash" 
{
  "id": "07iedcgxay065ezhumssrw2by",
  "resource": "payment",
  "status": "authorized",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2014-11-29T14:59:59Z",
  "payment_details": {
    "type": "pay_easy",
    "email": "test@example.com",
    "bank_id": "58021",
    "customer_id": "WNT51720341",
    "confirmation_id": "3769",
    "instructions_url": "https://komoju.com/ja/instructions/07iedcgxay065ezhumssrw2by"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": null,
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "8iq2urnegmrtezzx5qa3zy90w",
  "resource": "payment",
  "status": "authorized",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-11-16T14:59:59Z",
  "payment_details": {
    "type": "konbini",
    "email": "test@example.com",
    "store": "lawson",
    "confirmation_code": "3769",
    "receipt": "WNT51790451",
    "instructions_url": "https://komoju.com/ja/instructions/8iq2urnegmrtezzx5qa3zy90w"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": null,
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "6nokevt8phsi8u17061tjgk92",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-11-20T06:20:21Z",
  "payment_details": {
    "type": "net_cash",
    "email": "test@example.com",
    "short_amount": 0,
    "prepaid_cards": [
      {
        "last_four_digits": "1111",
        "points": 1080
      }
    ]
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-11-13T06:20:21Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "c0gfz659e3qlk3i49x6taors4",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "web_money",
    "email": "test@example.com",
    "short_amount": 0,
    "prepaid_cards": [
      {
        "last_four_digits": "1111",
        "points": 1080
      }
    ]
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-11-13T06:20:21Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "0qqctds6w846ac22s1yyc4gdl",
  "resource": "payment",
  "status": "authorized",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-11-20T14:59:59Z",
  "payment_details": {
    "type": "bank_transfer",
    "email": "test@example.com",
    "order_id": "D9555822685",
    "bank_name": "三井住友銀行",
    "account_branch_name": "ひなぎく",
    "account_number": "33",
    "account_type": "普通預金",
    "account_name": "株式会社DEGICA(カブシキガイシャ デジカ)",
    "instructions_url": "https://komoju.com/ja/instructions/0qqctds6w846ac22s1yyc4gdl"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": null,
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "9y41gy3yffuk8qyamqir5z7bn",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "culture_voucher",
    "email": null,
    "culture_id": "11111111"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "KRW",
  "description": null,
  "captured_at": "2018-11-13T06:20:21Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "b5jteviiy38ng7js5uebqprhn",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-11-20T06:20:21Z",
  "payment_details": {
    "type": "nanaco",
    "email": "test@example.com",
    "short_amount": 0,
    "prepaid_cards": [
      {
        "last_four_digits": "1111",
        "points": 1080
      }
    ]
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-11-13T06:20:21Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "1i3rilegwpnei2ef99mdcn303",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-11-20T14:59:59Z",
  "payment_details": {
    "type": "credit_card",
    "email": "test@example.com",
    "brand": "visa",
    "last_four_digits": "1111",
    "month": 1,
    "year": 2023
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-11-13T06:20:21Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "538rl207weidii7c2oa9ictxw",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "happy_money",
    "email": null,
    "happy_money_id": "11111111"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "KRW",
  "description": null,
  "captured_at": "2018-11-13T06:20:21Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "8iweaxszvquslnrzwtrpwa8ew",
  "resource": "payment",
  "status": "captured",
  "amount": 100,
  "tax": 8,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "bit_cash",
    "email": "test@example.com"
  },
  "payment_method_fee": 0,
  "total": 108,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-11-13T06:20:21Z",
  "external_order_num": null,
  "metadata": {
  },
  "created_at": "2018-11-13T06:20:21Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}

신용카드

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 credit_card
email 문자열 결제 수령 시에 전송할 메일 주소. 선택 가능합니다.
number 수치 신용카드 번호
month 수치 유효기간 월
year 수치 유효기간 년
verification_value 수치 CCV 보안 번호
given_name 문자열 고객 성명
family_name 문자열 고객 성
응답 매개변수 상세 내용
type credit_card의 값
email 결제 수령 시에 전송할 메일 주소
brand visa, mastercard 등 신용카드 회사 브랜드
last_four_digits 신용카드 번호 마지막 4자리
month 신용카드 유효기간 월
year 신용카드 유효기간 연도

테스트 가능 카드

주의) 아래에 표기된 카드 번호는 Komoju의 Test 모드에서만 이용이 가능합니다. Live 모드로 구매 절차를 확인하기 위해서는 실제로 소유하신 신용카드를 사용해 주십시오.

카드 번호 타입
3530111333300000 JCB
378282246310005 American Express
4111111111111111 Visa
5555555555554444 MasterCard
30569309025904 Diners Club
4123111111111000 잔액 부족
4123111111111018 이용 한도액 초과
4123111111111034 보안 번호 오류
4123111111111042 유효기간 만료 카드
4123111111111059 신용카드 사용 불가
4123111111111067 유효하지 않은 카드

은행 입금

결제가 작성되면 bank_number가 반환되므로, 유저는 은행 명의인과 order_id 매개변수를 입력해서 송금해야 합니다. 결제를 수령하면 webhook을 전송하여 결제 상황을 공지합니다.

제한

  • 은행 입금은 일본에서 정해진 영업 시간 이내에 기록/보관됩니다.
  • 결제는 14일이 지나면 무효 처리됩니다.(유효기한이 만료되면 webhook을 전송하여 공지합니다.)

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 bank_transfer
email 문자열 결제 수령 시에 영수증 및 결제 방법을 전송할 메일 주소.
given_name 문자열 고객 성명
family_name 문자열 고객 성
given_name_kana 문자열 고객 가타카나(カタカナ)이름
family_name_kana 문자열 고객 가타카나(カタカナ) 성
phone 문자열 고객 전화번호
expiry_days 정수 지불 유효기간의 일수(최대 59일). 이 매개변수는 임의입니다.
응답 매개변수 상세 내용
type bank_transfer의 값
email 결제 수령 시에 영수증 및 결제 방법을 전송할 메일 주소
order_id 고객이 입금 명의에 포함시킬 입금 번호
bank_name 송금 은행명
account_branch_name Account branch name
account_number 은행 계좌 번호
account_type 계좌 종류
account_name 계좌 명의
instructions_url 결제 방법 페이지 URL

편의점 결제

제한

  • 결제 총금액은 최대 299,999엔까지입니다. 이 금액은 결제 금액 + 세금 + 수수료를 모두 포함한 액수입니다.
  • 결제는 3일이 지나면 무효 처리 됩니다.(유효기한이 만료되면 webhook을 전송 하여 공지합니다)

편의점 점포 종류

편의점 결제를 작성할 때는 payment_details 해시의 store 매개변수를 보내야 합니다. 이 값은 고객이 실제로 결제를 진행할 편의점 점포 종류입니다.

영어 표기 일본어 표기 점포 종류별 로고
Daily Yamazaki デイリーヤマザキ daily-yamazaki Daily yamazaki
Family Mart ファミリーマート family-mart Family mart
Lawson ローソン lawson Lawson
Ministop ミニストップ ministop Ministop
Seicomart セイコーマート seicomart Seicomart
7-Eleven セブンイレブン seven-eleven Seven eleven

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 konbini
email 문자열 결제 수령 시에 영수증 및 결제 방법을 전송할 메일 주소.
store 문자열 점포 종류별
phone 문자열 고객 전화번호. 이 매개변수는 임의입니다.
expiry_days 정수 지불 유효기한 일수(최대 59일). 이 매개변수는 임의입니다.
응답 매개변수 상세 내용
type konbini의 값
email 결제 수령 시에 영수증 및 결제 방법을 전송할 메일 주소
store lawson, family_mart 등의 점포 종류별
confirmation_code 편의점 결제 시에 필요한 번호
receipt 편의점 결제 시에 필요한 번호
instructions_url 결제 방법 페이지 URL

웹머니

웹머니는 일본에서 인기 있는 프리페이드 카드 중 하나입니다. 한 장 이상의 프리페이드 카드를 이용, 결제를 진행할 수 있습니다. 유저가 사용한 웹머니 프리페이드 카드가 잔액 부족인 경우, payment_details 해시의 prepaid_number를 갱신하는 요청을 진행해 결제를 완료할 수 있습니다.

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 web_money
email 문자열 결제 수령 시에 전송할 메일 주소. 선택 가능합니다.
prepaid_number 문자열 16자리 웹머니 프리페이드 카드 번호
응답 매개변수 상세 내용
type web_money의 값
email 결제 수령 시에 전송할 메일 주소
short_amount 결제 금액에 부족한 금액
prepaid_cards 사용된 프리페이드 카드 목록

테스트 가능 카드

카드 번호 타입
1111111111111111 2,000엔이 충전된 웹머니 프리페이드 카드
e111111111111112 부적절한 프리페이드 카드 번호
e111111111111113 이미 사용된 프리페이드 카드
e111111111111114 원인 모를 에러

NET CASH

NET CASH는 일본에서 제공되는 프리페이드 카드 중 하나입니다. NTT 카드 솔류션이 제공합니다.

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 net_cash
email 문자열 결제 수령 시에 전송할 메일 주소. 선택 가능합니다.
prepaid_number 문자열 16 자리 NET CASH 프리페이드 번호
응답 매개변수 상세 내용
type net_cash의 값
email 결제 수령 시에 전송할 메일 주소
short_amount 결제 금액에 부족한 금액
prepaid_cards 사용된 프리페이드 카드 목록

테스트 가능 카드

카드 번호 타입
1111111111111111 2,000엔이 충전된 NET CASH 프리페이드 카드

nanaco

nanaco는 일본에서 제공되는 프리페이드 카드의 하나입니다. NTT 카드 솔류션이 제공합니다.

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 nanaco
email 문자열 결제 수령 시에 전송할 메일 주소. 선택 가능합니다.
prepaid_number 문자열 16 자리 nanaco 프리페이드 번호
응답 매개변수 상세 내용
type nanaco의 값
email 결제 수령 시에 전송할 메일 주소
short_amount 결제 금액에 부족한 금액
prepaid_cards 사용된 프리페이드 카드 목록

테스트 가능 카드

카드 번호 타입
1111111111111111 2,000엔이 충전된 nanaco 프리페이드 카드

비트 캐쉬

비트 캐쉬는 프리페이드 카드의 하나입니다. Komoju에서는 웹머니와 거의 동일한 API를 제공하지만, 비트 캐쉬의 경우 한 번에 한 장 이상의 프리페이드 카드를 이용할 수 없습니다. 잔액 부족인 경우, 유저는 비트 캐시 잔액 유지페이지를 이용해야 합니다.

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 bit_cash
email 문자열 결제 수령 시에 전송할 메일 주소. 선택 가능합니다.
prepaid_number 문자열 16자리 비트 캐쉬 프리페이드 카드 번호
응답 매개변수 상세 내용
type bit_cash의 값
email 결제 수령 시에 전송할 메일 주소

테스트 가능 카드

카드 번호 타입
1111111111111111 2,000엔이 충전된 비트 캐쉬 프리페이드 카드
e111111111111112 부적절한 프리페이드 카드 번호
e111111111111113 원인 모를 에러

PayEasy

고객은 PayEasy를 이용, 온라인 뱅킹을 통해 결제 가능합니다.

PayEasy는 후불 형식의 결제 수단으로, 결제가 작성된 후 일정 시간이 경과되고 나서 지불 내용이 기록됩니다. Komoju는 결제가 실행되면 webhook을 전송해 공지합니다.

제한

  • PayEasy 결제 총금액은 최대 999,999엔입니다.
  • 결제는 10일이 지나면 무효 처리됩니다.(유효기간이 만료되면 webhook을 전송해서 공지합니다.)

결제 상세 내용

요청 매개변수 타입 상세 내용
type 문자열 pay_easy
email 문자열 결제 수령 시에 영수증 및 결제 방법을 전송할 메일 주소.
given_name 문자열 고객 성명
family_name 문자열 고객 성
given_name_kana 문자열 고객 가타카나(カタカナ) 이름
family_name_kana 문자열 고객 가타카나(カタカナ) 성
phone 문자열 고객 전화번호
응답 매개변수 상세 내용
type pay_easy의 값
email 결제 수령 시에 영수증 및 결제 방법을 전송할 메일 주소
bank_id PayEasy 결제 시에 필요한 고객 번호
customer_id PayEasy 결제 시에 필요한 고객 번호
confirmation_id PayEasy 결제 시에 필요한 고객 번호
instructions_url 결제 방법 페이지 URL

토큰

보안상의 이유로 클라이언트 관여 없이 주요 고객 정보를 Komoju에서 취급해야 할 경우가 있습니다. 이를 실현하기 위해 클라이언트 공개키를 이용, API로 직접 토큰을 작성하는 것이 가능한 토큰 API를 제공합니다.

결제 상세 내용에 관한 토큰은 payment_details 매개변수를 이용할 수 있는 곳이라면 어디든지 토큰 id를 보내 이용할 수 있습니다.

제한

  • 토큰은 한 번만 유효합니다.
  • 토큰 유효기한은 30일입니다.

샘플

  • 신용카드
  • 편의점
  • 은행 입금
  • PayEasy
  • 웹머니
  • 비트 캐쉬
  • nanaco
  • NET CASH
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[type]=dospara" \
  -d "payment_details[user_no]=12345" \
  -d "payment_details[user_password]=password" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "currency=KRW" \
  -d "payment_details[email]=foo@bar.com" \
  -d "payment_details[type]=mobile" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=net_cash" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[family_name]=Yamada" \
  -d "payment_details[given_name]=Taro" \
  -d "payment_details[month]=01" \
  -d "payment_details[number]=4111111111111111" \
  -d "payment_details[type]=credit_card" \
  -d "payment_details[verification_value]=123" \
  -d "payment_details[year]=2023" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=web_money" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=bit_cash" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[family_name]=山田" \
  -d "payment_details[family_name_kana]=ヤマダ" \
  -d "payment_details[given_name]=太郎" \
  -d "payment_details[given_name_kana]=タロウ" \
  -d "payment_details[phone]=080-1111-2222" \
  -d "payment_details[type]=pay_easy" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[culture_id]=11111111" \
  -d "payment_details[culture_password]=11111111" \
  -d "payment_details[type]=culture_voucher" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=foo@bar.com" \
  -d "payment_details[return_url]=http://example.com" \
  -d "payment_details[type]=zgold" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=foo@bar.com" \
  -d "payment_details[type]=toss" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[expiry_days]=3" \
  -d "payment_details[phone]=090-1111-2222" \
  -d "payment_details[store]=lawson" \
  -d "payment_details[type]=konbini" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=foo@bar.com" \
  -d "payment_details[type]=cvs" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=nanaco" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=steam_prepaid_card" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[expiry_days]=14" \
  -d "payment_details[family_name]=山田" \
  -d "payment_details[family_name_kana]=ヤマダ" \
  -d "payment_details[given_name]=太郎" \
  -d "payment_details[given_name_kana]=タロウ" \
  -d "payment_details[phone]=080-1111-2222" \
  -d "payment_details[type]=bank_transfer" 
curl -X POST https://komoju.com/api/v1/tokens \
  -u sk_123456: \
  -d "payment_details[happy_money_id]=11111111" \
  -d "payment_details[happy_money_password]=11111111" \
  -d "payment_details[type]=happy_money" 
{
  "id": "tok_c6bb3278d52809dda7d1dd3548541358efc6143b2b741becf40fd6265a97a6a85tdizbp22sszmsurhq4rp0tqv",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "dospara"
  }
}
{
  "id": "tok_e9c7e565930002b48f0f56c8fbc62e976ea47a2887e7b5c58644f11c012c241calaseqdso7bgusjnl5cd1osyh",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "mobile",
    "email": "foo@bar.com"
  }
}
{
  "id": "tok_bcc1a5c7c88cada8d9dbf82ad00baa416d871e1004ac12b57d0433871dc74cf1e274wjee5u4v33bspa6m7rppz",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "net_cash",
    "email": "test@example.com"
  }
}
{
  "id": "tok_b5184b2a022c6f229d643a472ce0eb01b60e3fa16bfbe880718163277ba33c7b39kxzc14p9yoj69fvp8awml07",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "credit_card",
    "given_name": "Taro",
    "family_name": "Yamada",
    "email": "test@example.com"
  }
}
{
  "id": "tok_82bfeb5592ae019dc1dac1d66dddf16e1bd551791f00a3145e4bdcfb7963c31514gopmjnw1cnxrb117ga8hynz",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "web_money",
    "email": "test@example.com"
  }
}
{
  "id": "tok_4840ea6cb4d81070555269aedb874968c06da9f8128d45259a7df845f5b725d16ki1a53ag9on4ek82vzwpvmoo",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "bit_cash",
    "email": "test@example.com"
  }
}
{
  "id": "tok_a651ef777eae94c700a478cfa52b2055fddefd31a9b5eeae7e79756fc1c0c22b40dmztfsnj4m25zxdcobsemb2",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "pay_easy",
    "given_name": "太郎",
    "family_name": "山田",
    "given_name_kana": "タロウ",
    "family_name_kana": "ヤマダ",
    "phone": "080-1111-2222",
    "email": "test@example.com"
  }
}
{
  "id": "tok_1e317dd48729c4dcbb53db51e75f4483ee780007a1c47201e00245db49a8c06e2rro8s4sre4a57q5mmtsnte7v",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "culture_voucher"
  }
}
{
  "id": "tok_74babbdd1f0983776eefc6c82adf61a4d88d92a3b3687e2bb9c19db812c8b9cdeup8t885ljaxusnb30yo85zpi",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "zgold",
    "email": "foo@bar.com"
  }
}
{
  "id": "tok_3973b16d57e66bde8ac9b175e5709b78c8a45115eb737acb8f8b8a25ba081db616mpj5fzjdorz1ciytwfni1bn",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "toss",
    "email": "foo@bar.com"
  }
}
{
  "id": "tok_8da75d9f0aef068bf9b35c7697738bb9c9184ea8a20448ea78a31b3dd7708476brfybahp49x9ynuypcc9wlnb6",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "konbini",
    "store": "lawson",
    "email": "test@example.com",
    "phone": "090-1111-2222"
  }
}
{
  "id": "tok_1dc891878fe81a29bd38a4a6d24e78963335c029fb1e4e826c27509b3de4871173g3mcrc2fd17hr7yuslj1l3c",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "cvs",
    "email": "foo@bar.com"
  }
}
{
  "id": "tok_d7fc72f1fc1b3d0b3b0dc0211d96a99de6287261161019f9ae7aff86b58531829di4sltcu2xrr5kl34w10wllq",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "nanaco",
    "email": "test@example.com"
  }
}
{
  "id": "tok_b419b726539abcd2bd97d9e619f50ef9e9adeba9e0a59d39dcf0768d95d9d35e3g0sa2trox1ayppe8hlv17h3c",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "steam_prepaid_card",
    "email": "test@example.com"
  }
}
{
  "id": "tok_c139072b0858604e8361bf6132fec91ba8c70abb08c7a23013455cf9fac8064302ux8tysnohwkqsyftz2tpegr",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "bank_transfer",
    "given_name": "太郎",
    "family_name": "山田",
    "given_name_kana": "タロウ",
    "family_name_kana": "ヤマダ",
    "phone": "080-1111-2222",
    "email": "test@example.com"
  }
}
{
  "id": "tok_8dfae073c3cf9f451231b74618fcebec9f087144306a89d129ea05613d93c4cc9e6cir3nfxa0gkm3i3vcpjjoo",
  "resource": "token",
  "created_at": "2018-11-13T06:20:21Z",
  "payment_details": {
    "type": "happy_money"
  }
}