카드 정보 결제 API

카드 정보 결제 API를 이용하면 고객이 직접 카드 정보를 입력해서 결제할 수 있습니다.

카드 정보 결제는 직접 카드 정보를 입력해서 결제하는 비인증 결제로 '수기 결제', '키인(Key-in) 결제'라고 불리기도 합니다. 카드 결제 과정에서 카드사가 제공하는 인증 과정(ISP, 안심클릭)이 있는 경우가 인증 결제입니다.

API를 사용하기 위해 필요한 키 정보와 인증 방식, 보안에 대한 정보는 API 사용하기에서 자세히 알아보세요.

카드 정보 결제 API 사용하기

카드 정보 결제 API 요청 본문에는 주문 정보와 카드 정보가 포함되어야 합니다.

카드 번호와 카드 유효기간은 필수 파라미터입니다. 토스페이먼츠에 가입할 때 카드 정보 결제 옵션으로 추가 설정한 항목이 있다면 비밀번호, 카드 소유자의 생년월일 필드를 추가할 수 있습니다.

요청
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.tosspayments.com/v1/payments/key-in"))
    .header("Authorization", "Basic dGVzdF9za196WExrS0V5cE5BcldtbzUwblgzbG1lYXhZRzVSOg==")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\"amount\":15000,\"orderId\":\"eJNvubGBfqcH5EOcFYP4d\",\"orderName\":\"토스티셔츠 외 2건\",\"cardNumber\":\"4330123412341234\",\"cardExpirationYear\":\"24\",\"cardExpirationMonth\":\"07\",\"cardPassword\":\"12\",\"customerIdentityNumber\":\"881212\"}"))
    .build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

card 객체가 포함된 응답이 돌아옵니다.

응답
{
"mId": "tosspayments",
"version": "1.4",
"paymentKey": "",
"orderId": "",
"orderName": "토스티셔츠 외 2건",
"currency": "KRW",
"method": "카드",
"status": "DONE",
"requestedAt": "2021-01-01T10:01:30+09:00",
"approvedAt": "2021-01-01T10:05:40+09:00",
"useEscrow": false,
"cultureExpense": false,
"card": {
"company": "현대",
"number": "433012******1234",
"installmentPlanMonths": 0,
"isInterestFree": false,
"interestPayer": null,
"approveNo": "00000000",
"useCardPoint": false,
"cardType": "신용",
"ownerType": "개인",
"acquireStatus": "READY",
"receiptUrl": "https://merchants.tosspayments.com/web/serve/merchant/test_ck_D5GePWvyJnrK0W0k6q8gLzN97Eoq/receipt/"
},
"virtualAccount": null,
"transfer": null,
"mobilePhone": null,
"giftCertificate": null,
"foreignEasyPay": null,
"cashReceipt": null,
"discount": null,
"cancels": null,
"secret": null,
"type": "NORMAL",
"easyPay": null,
"country": "KR",
"failure": null,
"totalAmount": 15000,
"balanceAmount": 15000,
"suppliedAmount": 13636,
"vat": 1364,
"taxFreeAmount": 0
}
JSON

카드 결제는 인증 여부에 따라 인증 결제, 비인증 결제로 나뉩니다. 카드 결제 과정에서 카드사가 제공하는 인증 과정(ISP, 안심클릭)이 있는 경우가 인증 결제입니다.


카드 정보 결제 API를 자세히 알아보세요

카드 정보 결제 API를 직접 실행해보세요

내용이 도움 되셨나요?
  • 더 궁금한 내용이 있나요?
  • 코드 샘플을 참고하세요
  • 기술지원이 필요한가요?
    디스코드 채팅|이메일 보내기