결제 오류
이번달 부터 갑자기 새로운 고객들이 결제가 안되고 있습니다.
자동결제 빌링 부분에 오류가 갑자기 생긴것 같아요
[토스페이먼츠][중요] 카드 빌링키 발급 API 응답 파라미터 변경 예정 안내새 창으로 메일 보기
받는 사람/참조 보기
보낸사람
토스페이먼츠 <notification@tosspayments.com>
2025년 7월 30일 (수) 오후 2:07
인쇄번역
이런 매일이 왔는데 소스 어디를 수정해야할지 모르겠어요
34 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
상점아이디(MID)
KOWEB_b_do7pvg
이번달 언제부터 안되시나요?
정확하게는 모르지만 11일 부터인것 같습니다. 고객들이 갑자기 안된다고 문의가 왔어요
옛날 가입 고객들은 자동 결제 연장이 되고 있고 신규로 가입하시는 부분들이 안된다고합니다.
정보가 좀 더 있으면 좋을거같은데요
어떤 정보를 더 설명드리면 될까요?
<script src="https://js.tosspayments.com/v1"></script>
<!-- 빌링키 호출 -->
<script>
function myFunction_qerr() {
var clientKey = 'live_ck_BE92LAa5PVbz4Ba6GDRV7YmpXyJj';
var tossPayments = TossPayments(clientKey); // 클라이언트 키로 초기화하기
tossPayments.requestBillingAuth('카드', {
customerKey: '<?=$random_15_chars_new?>',
successUrl: 'https://dodamfood.kr/contents/04_subscribe/success.php',
failUrl: 'https://dodamfood.kr/contents/04_subscribe/fail.php',
});
}
</script>
이번 변경된 내용이
변경전
변경후
이런식으로 "transfer": null 이 추가된거 밖에 없거든요
우선은...결제가 안되었을때 orderId 를 주세요
해당 위치에서 에러가 나고 있어요
결제가 아니고 빌링키 발급이 안되시는건가요?
네
빌링키 발급이 안되고 있습니다.
<script>
function myFunction_qerr() {
var clientKey = 'live_ck_BE92LAa5PVbz4Ba6GDRV7YmpXyJj';
var tossPayments = TossPayments(clientKey); // 클라이언트 키로 초기화하기
tossPayments.requestBillingAuth('카드', {
customerKey: '<?=$random_15_chars_new?>',
successUrl: 'https://dodamfood.kr/contents/04_subscribe/success.php',
failUrl: 'https://dodamfood.kr/contents/04_subscribe/fail.php',
});
}
</script>
해당 소스는 문제가 없나요?
네 그 부분은 frontend 라서 문제가 없구요
success.php 에서 받은 후 backend 통신 응답이 빌링키 발급결과에요
이 부분에서 터지는지를 봐주셔야해요
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tosspayments.com/v1/billing/authorizations/$authKey",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{"customerKey":"$customerKey "}",
이 부분은 요청이구요
응답 수신하는 부분을 봐주셔야해요
CURLOPT_HTTPHEADER => [
"Authorization: Basic
"Content-Type: application/json"
],
]);
보통은 응답수신 --> 파싱 --> DB 처리 이렇게 진행될거에요
응답으로 받은 json 전체를 로그로 찍어보시구
파싱할때 터지는 부분을 잡으시면 됩니다
저희 서버로그 보면 최근 빌링키 응답이 11:41에
"customerKey":"EwsUSSJL2g6BT1h_1755484787" 로 있었어요
{"code":"NOT_MATCHES_CUSTOMER_KEY","message":"빌링 인증 고객키와 결제 요청 고객키가 일치하지 않습니다."}
조금 전에 테스트를 했는데 결과 값이 이렇게 나오고 있습니다.
그건 customerKey 를 맞게 안주신거같은데요
서버로그를 확인해볼게요
소스를 변경하지 않았는데 이렇게 갑자기 안맞게 될수도 있나요?
그럼 저도 소스에서 전달할때와 받을때가 다른지 다시 테스트해보겠습니다.
그런경우는 잘 없긴해요
제가 8/3 부터 로그를 보고있는데 12일 12:00 부터 발생했어요
그럼 지금 customerKey 가 안 맞게 전달 되어서 생기는 문제인가?요
로고에서 보시면 다른가요?
잠시만요
빌링키 발급은 저희 SDK v1 사용하시는거죠?
SDK v1 ?

자동결제(빌링) 결제창 연동하기 | 토스페이먼츠 ...
자동결제는 다른 이름으로 빌링, 또는 정기결제로 불리는 결제 방식입니다. 카드 등록창에서 구매자의 카드를 한 번만 등록하고 나면, 별도의 인증 없이 간편하게 결제를 요청할 수 있습니다.
이런식으로 authKey 가 request body 에 있어야하는데
없고 customerKey 만 보내고 계셔요
{"customerKey":"LpeJugt8MdrC50A_1755485896 "}
이런식으로요
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1">
<meta name="format-detection" content="telephone=no">
<title><?=$site[og_title]?></title>
<script src="https://js.tosspayments.com/v1"></script>
<!-- 빌링키 호출 -->
<script>
function myFunction_qerr() {
var clientKey = 'live_ck_BE92LAa5PVbz4Ba6GDRV7YmpXyJj';
var tossPayments = TossPayments(clientKey); // 클라이언트 키로 초기화하기
tossPayments.requestBillingAuth('카드', {
customerKey: '<?=$random_15_chars_new?>',
successUrl: 'https://dodamfood.kr/contents/04_subscribe/success.php',
failUrl: 'https://dodamfood.kr/contents/04_subscribe/fail.php',
});
}
</script>
</head>
<body onload="myFunction_qerr()">
스크립트로 만들어서 작업을 했습니다.
네, 이부분은 관련이 없구요
backend 통신시에
customerKey 와 authKey 가 함께 와야해요
💡 정보 제출
민감 정보를 안전하게 제출해주세요
전화번호 알려주세요
클라이언트 키
010
010

CURLOPT_POSTFIELDS => "{"customerKey":"$customerKey "}",
이렇게 코드 보내주셨는데 customerkey 뒤에 공백이 있습니다.
CURLOPT_POSTFIELDS => "{"customerKey":"$customerKey"}",
이렇게만 수정해주시면 될거에요.
@도담푸드 해결되셨나요?
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.