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