이 문서는 카카오모먼트 쉬운 메시지광고의 결제 관리 API 사용 방법을 안내합니다.
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/cash/list |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고에 사용할 수 있는 캐시 충전 내역을 조회합니다.
type
: CHARGE
chargeMethod
: SYSTEM_FREECASH
type
: CHARGE
chargeMethod
: ADMIN_FREECASH
충전 내역 중 무상캐시는 무상캐시 사용을 호출해 상태(status
)를 사용 중(USING
)으로 변경하면 사용 가능합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 광고계정의 캐시 충전 내역을 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
page | Integer |
페이지 번호 0번부터 시작 |
X |
limit | Integer |
페이지 사이즈(기본값: 20) | X |
from | String |
지표 조회 기간 시작일yyyy-MM-dd 형식미입력 시 조회 당일부터 2년 전으로 설정하여 조회함 |
X |
to | String |
지표 조회 기간 종료일yyyy-MM-dd 형식 |
X |
이름 | 타입 | 설명 |
---|---|---|
content | CashTo[] |
충전 내역 |
이름 | 타입 | 설명 |
---|---|---|
dt | String |
거래일시 |
type | String |
CHARGE(충전), REFUND(환급), WITHDRAW(환불), REPAYMENT(채권상환) |
chargeMethod | String |
거래 유형, 아래 중 하나CREDIT_CARD : 신용카드 결제KAKAOPAY_CARD_AUTO : 카카오페이에 설정된 신용카드로 결제-체크 카드 포함VIRTUAL_ACCOUNT : 무통장 입금ADMIN_CASH : 관리자 유상캐시 지급ADV_RET_CASH : 광고주 환원 유상캐시 지급CREDIT_CARD_REGULAR : 자동결제카드KAKAOPAY_CARD : 카카오페이 결제ADMIN_FREECASH : 관리자 무상캐시 지급SYSTEM_FREECASH : 시스템 무상캐시 지급EVENT_FREE_CASH : 프로모션 무상캐시 지급ADV_RET_FREE_CASH : 광고주 환원 무상캐시 지급ADMIN_ADJUST_FREECASH : 무상캐시 금액조정으로 인한 지급CPMS : CPMS계약조정으로 인한 지급CPT : CPT계약조정으로 인한 지급WITHDRAW : 환불EXPIRE_FREECASH : 무상캐시 만료 |
amount | Double |
유, 무상캐시 금액 |
memberType | String |
충전 거래자 유형, 아래 중 하나DSP_ACCOUNT : 광고계정ID를 사용해 DSP 또는 API로 충전하는 광고주INHOUSE_ACCOUNT : 어드민 기능으로 충전하는 카카오 내부 관리자AGENCY_ACCOUNT : 에이전시 플랫폼에서 충전하는 마케터 혹은 대행사SYSTEM : 카카오 시스템 |
memberEmail | String |
거래자 이메일 |
memberName | String |
거래자 이름 |
methodDetail | String |
거래수단 |
withdrawMethod | String |
환불 유형(CREDIT_CARD, VIRTUAL_ACCOUNT, ADMIN_CASH) |
curl -G GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/cash/list" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json" \
-d "page=0" \
-d "limit=20" \
-d "from=2023-01-01" \
-d "to=2023-12-31"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"content": [
{
"dt": "2023-10-13T00:01:49",
"type": "CHARGE",
"chargeMethod": "SYSTEM_FREECASH",
"amount": 10000.0,
"memberType": "SYSTEM",
"memberEmail": "-",
"memberName": "(주)카카오",
"methodDetail": null,
"withdrawMethod": null
},
{
"dt": "2023-10-05T16:49:10",
"type": "CHARGE",
"chargeMethod": "ADMIN_FREECASH",
"amount": 66.0,
"memberType": "DSP_ACCOUNT",
"memberEmail": "test1***@gmail.com",
"memberName": "라이언",
"methodDetail": null,
"withdrawMethod": null
},
{
"dt": "2023-10-05T16:48:43",
"type": "CHARGE",
"chargeMethod": "ADMIN_FREECASH",
"amount": 1000.0,
"memberType": "DSP_ACCOUNT",
"memberEmail": "test***@gmail.com",
"memberName": "어피치",
"methodDetail": null,
"withdrawMethod": null
},
{
"dt": "2023-09-13T20:00:43",
"type": "REFUND",
"chargeMethod": "CPMS",
"amount": 220.0,
"memberType": "SYSTEM",
"memberEmail": "-",
"memberName": "(주)카카오",
"methodDetail": null,
"withdrawMethod": null
},
{
"dt": "2023-09-12T19:46:46",
"type": "CHARGE",
"chargeMethod": "CREDIT_CARD",
"amount": 1000000.0,
"memberType": "DSP_ACCOUNT",
"memberEmail": "tes****@gmail.com",
"memberName": "죠르디",
"methodDetail": "신한 553146**********",
"withdrawMethod": null
},
{
"dt": "2023-10-06T00:06:35",
"type": "CHARGE",
"chargeMethod": "EXPIRE_FREECASH",
"amount": -3499.0,
"memberType": "SYSTEM",
"memberEmail": "-",
"memberName": "(주)카카오",
"methodDetail": null,
"withdrawMethod": null
}
],
"pageable": {
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"pageNumber": 0,
"pageSize": 5,
"offset": 0,
"unpaged": false,
"paged": true
},
"totalPages": 1,
"totalElements": 5,
"last": true,
"first": true,
"size": 20,
"number": 0,
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"numberOfElements": 5,
"empty": false
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/cash/charge-order |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고에 사용할 광고캐시 충전 결제를 요청합니다. 이 API로 쉬운 메시지광고 전용 선불 광고주에게 필요한 충전 결제 기능을 제공할 수 있습니다. 결제 요청 시 카카오 고객센터 연락처(1577-3754)를 제공해 결제 중 발생하는 문제를 문의할 수 있도록 안내해야 합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 POST
로 요청합니다. 요청 시 제휴사가 제공하는 결제 완료 후 랜딩 페이지의 URL을 redirectUrl
로 전달해야 합니다. 요청 성공 시 응답은 PG사의 팝업 결제 페이지 URL인 paymentUrl
를 포함합니다.
요청 파라미터의 redirectUrl
과 응답 필드의 paymentUrl
값으로 아래와 같이 결제 요청을 처리할 수 있습니다.
paymentUrl
을 새 창으로 열어 사용자가 결제를 수행하도록 합니다. location.href = '#redirect_url#'
)으로 부모창을 제어해 redirectUrl
로 돌아갑니다.실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
amount | Long |
결제 금액 | O |
redirectUrl | String |
제휴사가 제공하는 결제 완료 후 랜딩 페이지의 URL | O |
userIp | String |
결제 요청자 IP, 제휴사 또는 선불 광고주의 IP | X |
이름 | 타입 | 설명 |
---|---|---|
kakaoBillingTxId | String |
트랜잭션(Transaction) ID |
paymentUrl | String |
PG사의 팝업 결제 페이지 URL |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/cash/charge-order" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
-d '{
"amount" : 10000,
"redirectUrl" : "https://daum.net",
"userIp" : "127.0.0.1"
}'
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"kakaoBillingTxId": "7000000000385335",
"paymentUrl": "https://dkpg-web.payments.kakao.com/dkpg/v1/pay_form?&dkpg_payment_id=7000000000385335&session_key=1699590828399-3d15a741-e751-4aea-9973-bc4538981b78"
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/free-cash |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고에 사용할 수 있는 무상캐시 사용 현황을 조회합니다. 광고계정 생성 시 지급받은 쉬운 메시지광고 전용 무상캐시는 status
이 USING
, description
이 메세지 발송 프로모션 무상캐시 지급
입니다.
무상캐시의 만료기간은 아래와 같습니다.
무상캐시의 상태에 따라 제공하는 기간정보는 아래와 같습니다.
beginDt
, usedDt
, endDt
, createDt
endDt
, createDt
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 무상캐시 사용 현황을 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 |
---|---|---|
content | FreeCashTo[] |
무상캐시 사용 현황 |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
무상캐시 지급 ID |
amount | String |
무상캐시 지급 액수 |
status | String |
무상캐시 상태 READY: 대기 USING: 사용중 USED: 사용완료 EXPIRED: 기간만료 CANCEL: 취소 |
description | String |
무상캐시 지급 (메세지 발송 프로모션 무상캐시 지급) |
issueMemberKakaoEmail | String |
무상캐시 사용자 이메일 |
createDt | String |
무상캐시 생성일 |
beginDt | String |
무상캐시 사용 시작일 |
endDt | String |
무상캐시 만료일 |
usedDt | String |
무상캐시 사용일 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/free-cash" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"id": 31778,
"amount": 1000.0,
"status": "USING",
"description": "메세지 발송 프로모션 무상캐시 지급",
"issueMemberKakaoEmail": null,
"createDt": "2023-10-06T16:15:37",
"beginDt": "2023-10-06T16:15:37",
"endDt": "2023-11-05",
"usedDt": "2023-10-06T16:15:37",
},
{
"id": 32068,
"amount": 66.0,
"status": "READY",
"description": "메세지 미발송분",
"issueMemberKakaoEmail": null,
"createDt": "2023-10-25T14:19:29",
"beginDt": null,
"endDt": "2024-01-25",
"usedDt": null
}
]
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/free-cash/${FREE_CASH_ID}/use |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
무상캐시를 사용하도록 설정합니다. 무상캐시 사용 현황 조회 시 status
가 READY
이고 만료일이 경과하지 않은 무상캐시 대상으로만 요청할 수 있습니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 POST
로 요청합니다. 요청 성공 시 응답은 무상캐시 정보를 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
FREE_CASH_ID | String |
무상캐시 지급 ID | O |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
무상캐시 지급 ID |
amount | Double |
무상캐시 지급 액수 |
status | String |
무상캐시 상태 READY: 대기 USING: 사용중 USED: 사용완료 EXPIRED: 기간만료 CANCEL: 취소 |
description | String |
무상캐시 지급 이유(메세지 미발송분) |
issueMemberKakaoEmail | String |
무상캐시 사용자 이메일 |
createDt | String |
무상캐시 생성일 |
beginDt | String |
무상캐시 사용 시작일 |
endDt | String |
무상캐시 만료일 |
usedDt | String |
무상캐시 사용일 |
curl -X POST "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/free-cash/${FREE_CASH_ID}/use" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 493206,
"amount": 100000,
"status": "USING",
"description": "메시지 미발송분",
"beginDt": "2024-11-01T13:27:10.620737",
"endDt": "2025-11-30",
"usedDt": "2024-11-01T13:27:10.620737"
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/balance |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고 전용 광고캐시 잔액을 조회합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 광고캐시 잔액 정보를 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 |
---|---|---|
cash | Double |
유상캐시(환불 가능 금액) |
freeCash | Double |
무상캐시 |
freeCashReady | Double |
무상캐시(대기) |
creditLimit | Long |
후불 한도 |
remainedCreditLimit | Double |
가용 후불 한도 |
holdAutopayCard | Boolean |
자동결제 신용카드 등록 여부 |
deferredPayment | Boolean |
후불 여부 |
active | Boolean |
삭제 여부 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/balance" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"cash": 0.0,
"freeCash": 9087.0,
"freeCashReady": 797.5,
"creditLimit": 10000,
"remainedCreditLimit": 10000.0,
"holdAutopayCard": false,
"deferredPayment": true,
"active": true
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/spend |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고에 사용된 광고캐시를 조회합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 광고캐시 잔액과 소진금액 정보를 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 |
---|---|---|
cash | Double |
유상캐시(환불 가능 금액) |
freeCash | Double |
무상캐시 |
creditLimit | Long |
후불 한도 |
deferredPayment | Boolean |
후불 여부 |
balance | Double |
잔액(유상캐시와 무상캐시의 합) |
todaySpend | Double |
오늘 소진 공급가액 |
todaySpendVat | Double |
오늘 소진 부가세액 |
yesterdaySpend | Double |
어제 소진 공급가액 |
yesterdaySpendVat | Double |
어제 소진 부가세액 |
thisMonthSpendCash | Double |
당월 유상캐시 소진 공급가액 |
thisMonthSpendCashVat | Double |
당월 유상캐시 소진 부가세액 |
monthSpend | Double |
당월 소진 공급가액 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/spend" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"cash": 0.0,
"freeCash": 9087.0,
"creditLimit": 10000,
"deferredPayment": true,
"balance": 9087.0,
"todaySpend": 0.0,
"todaySpendVat": 0.0,
"yesterdaySpend": 0.0,
"yesterdaySpendVat": 0.0,
"thisMonthSpendCash": 105.0,
"thisMonthSpendCashVat": 10.5,
"monthSpend": 105.0
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고 전용 광고캐시를 환불 요청합니다. 전액 환불 요청은 광고계정 상태가 OFF
일 때만 가능합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 POST
로 요청합니다. 요청 성공 시 응답 본문은 없습니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
allWithdraw | Boolean |
전액 환불 여부 | O |
amount | Long |
환불 금액 | O |
reason | String |
환불 이유 | O |
curl -X POST "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
-d '{
"allWithdraw": false,
"amount" : 10000,
"reason" : "이유"
}'
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고 전용 광고캐시의 환불 내역을 조회합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 환불 내역을 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
page | Integer |
페이지 번호 0부터 시작 |
X |
limit | Integer |
페이지 사이즈(기본값: 20) | X |
from | String |
지표 조회 기간 시작일(yyyy-MM-dd 형식)미입력 시 조회 당일부터 2년 전으로 설정하여 조회함 |
X |
to | String |
지표 조회 기간 종료일(yyyy-MM-dd 형식) |
X |
이름 | 타입 | 설명 |
---|---|---|
content | WithdrawTo[] |
환불 내역 |
totalElements | Long |
전체 응답 가능한 결과 수 |
totalPages | Long |
총 페이지 수 조회 시 응답될 총 페이지 수 |
first | Boolean |
첫 페이지 여부 true : 첫 페이지false : 첫 페이지가 아님 |
last | Boolean |
마지막 페이지 여부true : 마지막 페이지false : 마지막 페이지가 아님 |
size | Integer |
페이지 사이즈 1페이지당 노출되는 결과 수 |
number | Integer |
페이지 번호 |
numberOfElements | Integer |
현재 페이지에 응답된 결과 수 |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
환불 요청 ID |
requestDt | String |
요청 날짜 |
requestReason | String |
요청 이유 |
requestAmount | Long |
환불 요청 금액 |
status | String |
환불 상태(RESERVED, STANDBY, APPROVED, REJECTED, ASK_ADMIN) |
memberId | String |
환불 요청자 ID |
memberEmail | String |
환불 요청자 이메일 |
memberStatus | String |
환불 요청자 상태 |
requestType | String |
환불 요청 타입(MANUAL_REQUEST, AUTO_REQUEST) |
details | DetailTo[] |
환불 상세 내역 |
이름 | 타입 | 설명 |
---|---|---|
id | Long |
환불 상세 내역 ID |
dt | String |
날짜 |
amount | Long |
환불 금액 |
requestAmount | Long |
환불 요청 금액 |
requestWithdrawMethod | String |
환불 요청 방법 |
status | String |
환불 상세 상태(SETTLED, PRE, SUCCESS, FAIL, ASK_ADMIN, CANCELED_SETTLE) |
statusDesc | String |
환불 상태 설명 |
kakaoBillingTxId | String |
거래번호 |
chargeMethod | String |
충전 방법 |
chargeCardName | String |
충전 카드명 |
chargeCardNumber | String |
충전 카드번호 |
chargeKakaoEmail | String |
충전 거래자 이메일 |
chargeMemberStatus | String |
충전 거래자 상태 |
chargeMemberType | String | 충전 거래자 유형, 아래 중 하나DSP_ACCOUNT : 광고계정ID를 사용해 DSP 또는 API로 충전하는 광고주INHOUSE_ACCOUNT : 어드민 기능으로 충전하는 카카오 내부 관리자AGENCY_ACCOUNT : 에이전시 플랫폼에서 충전하는 마케터 혹은 대행사SYSTEM : 카카오 시스템 |
chargeAmount | Long | 충전 금액 |
chargeRemainAmount | Long | 충전 잔여금액 |
withdrawMethod | String | 환불 방법 |
failReason | String | 환불 실패 원인 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw?page=0&size=20&from=2023-01-01&to=2023-12-31" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"content": [
{
"id": 7299,
"requestDt": "2023-11-08T11:17:59",
"requestReason": "auto withdraw because of charging on deferred payment wallet",
"requestAmount": 19000,
"status": "STANDBY",
"memberId": "system",
"memberEmail": null,
"memberStatus": null,
"requestType": "AUTO_REQUEST",
"details": [
{
"id": 6017,
"dt": null,
"amount": null,
"requestAmount": 19000,
"requestWithdrawMethod": "계좌 환불",
"status": "SETTLED",
"statusDesc": "금액확정",
"kakaoBillingTxId": null,
"chargeMethod": "무통장 입금",
"chargeCardName": null,
"chargeCardNumber": null,
"chargeKakaoEmail": null,
"chargeMemberStatus": null,
"chargeMemberType": "SYSTEM",
"chargeAmount": 19000,
"chargeRemainAmount": 0,
"withdrawMethod": null,
"failReason": null
}
]
}
],
"pageable": {
"pageNumber": 0,
"pageSize": 20,
"sort": {
"empty": true,
"sorted": false,
"unsorted": true
},
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalElements": 1,
"totalPages": 1,
"first": true,
"size": 20,
"number": 0,
"sort": {
"empty": true,
"sorted": false,
"unsorted": true
},
"numberOfElements": 1,
"empty": false
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
환불계좌를 등록합니다. 은행 정기점검 시간에는 환불계좌 등록이 불가능합니다. 사업자 유형에 따라 아래 조건을 만족하는 환불계좌만 등록할 수 있습니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 POST
로 요청하고, 요청 성공 시 응답 본문은 없습니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
accountNumber | String |
환불 계좌번호 | O |
bankCode | String |
은행 코드 참고: 환불계좌 등록 가능 은행코드 조회 |
O |
ownerName | String |
예금주명 | O |
curl -X POST "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json" \
-d '{
"accountNumber": "111-2********",
"bankCode": "88",
"ownerName": "플*토"
}'
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
환불계좌 정보를 조회합니다. 은행 정기점검 시간에는 환불계좌 조회가 불가능합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 환불계좌 정보를 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 |
---|---|---|
accountNumber | String |
환불 계좌번호 |
bankCode | String |
은행 코드 |
ownerName | String |
예금주명 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"accountNumber": "111-2********",
"bankCode": "88",
"ownerName": "플*토"
}
메서드 | URL | 인증 방식 |
---|---|---|
PUT |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
환불계좌 정보를 수정합니다. 은행 정기점검 시간에는 환불계좌 수정이 불가능합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 PUT
으로 요청합니다. 요청 성공 시 응답 본문은 없습니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
accountNumber | String |
환불 계좌번호 | O |
bankCode | String |
은행 코드 참고: 환불계좌 등록 가능 은행코드 조회 |
O |
ownerName | String |
예금주명 | O |
curl -X PUT "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json" \
-d '{
"accountNumber": "111-2********",
"bankCode": "88",
"ownerName": "플*토"
}'
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
메서드 | URL | 인증 방식 |
---|---|---|
DELETE |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
환불계좌 정보를 수정합니다. 은행 정기점검 시간에는 환불계좌 삭제가 불가능합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 DELETE
로 요청합니다. 요청 성공 시 응답은 본문 없이 HTTP 200
상태 코드만 반환합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
curl -v -X DELETE "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account/bank-code |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
환불계좌 등록 시 사용할 은행 코드를 조회합니다. 조회 결과에 포함된 은행 코드만 환불계좌 등록 및 수정 시 사용할 수 있습니다. 은행 코드는 추후 추가될 수 있습니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 은행 코드 목록을 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 |
---|---|---|
- | BankCodeTo |
은행 코드 목록 |
이름 | 타입 | 설명 |
---|---|---|
code | String |
은행 코드 |
type | String |
은행 종류 |
name | String |
은행 이름 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/withdraw/account/bank-code" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{"code":"02","type":"SANUP","name":"산업"},
{"code":"03","type":"KIUP","name":"기업"},
{"code":"04","type":"KOOKMIN","name":"국민"},
{"code":"07","type":"SUHYUP","name":"수협"},
{"code":"11","type":"NONGHYUP_CENTER","name":"농협중앙"},
{"code":"12","type":"NONGHYUP_LOCAL","name":"농협(단위조합)"},
{"code":"20","type":"WOORI","name":"우리"},
{"code":"23","type":"SC","name":"SC제일"},
{"code":"27","type":"CITY","name":"씨티"},
{"code":"31","type":"DAEGU","name":"대구"},
{"code":"32","type":"BUSAN","name":"부산"},
{"code":"34","type":"GWANGJU","name":"광주"},
{"code":"35","type":"JEJU","name":"제주"},
{"code":"37","type":"JEONBOOK","name":"전북"},
{"code":"39","type":"KYEONGNAM","name":"경남"},
{"code":"45","type":"SAEMAEUL","name":"새마을"},
{"code":"48","type":"SINHYUP","name":"신협"},
{"code":"54","type":"HSBC","name":"HSBC"},
{"code":"71","type":"POSTOFFICE","name":"우체국"},
{"code":"81","type":"HANA","name":"KEB하나"},
{"code":"88","type":"SINHAN","name":"신한"},
{"code":"89","type":"K_BANK","name":"케이뱅크"},
{"code":"90","type":"KAKAO_BANK","name":"카카오뱅크"},
{"code":"209","type":"YUANTA_SECURITIES","name":"유안타증권"},
{"code":"240","type":"SAMSUNG_SECURITIES","name":"삼성증권"}
]
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/virtual-accounts |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고 전용으로 발급된 가상계좌를 조회합니다. 선불 광고주는 충전 결제 요청, 후불 광고주는 후불 결제 요청으로 결제 시 무통장 입금을 선택해 가상계좌를 발급받을 수 있습니다. 가상계좌는 30일간 유효합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 가상계좌 정보를 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 |
---|---|---|
accountNumber | String |
가상계좌 번호 |
accountOwnerName | String |
가상계좌 예금주명 |
amount | Long |
입금금액 |
bankCode | String |
은행코드 |
bankName | String |
은행명 |
expireDttm | String |
가상계좌 만료일시 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/bond/virtual-accounts" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"content": [
{
"accountNumber": "string",
"accountOwnerName": "string",
"amount": 0,
"bankCode": "string",
"bankName": "string",
"expireDttm": "yyyy-MM-dd'T'HH:mm:ss"
}
]
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/bond |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고 전용 후불 결제 현황을 조회합니다. repaymentAmount
는 결제 가능 내역 조회의 전체 미결제 금액에서 가상계좌 입금대기 금액을 뺀 금액입니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 후불 결제 현황 정보를 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
page | Integer |
페이지 번호 0부터 시작 |
X |
limit | Integer |
페이지 사이즈(기본값: 20) | X |
이름 | 타입 | 설명 |
---|---|---|
content | BondTo[] |
후불 결제 현황 |
totalElements | Long |
전체 응답 가능한 결과 수 |
totalPages | Long |
총 페이지 수 조회 시 응답될 총 페이지 수 |
first | Boolean |
첫 페이지 여부 true : 첫 페이지false : 첫 페이지가 아님 |
last | Boolean |
마지막 페이지 여부true : 마지막 페이지false : 마지막 페이지가 아님 |
size | Integer |
페이지 사이즈 1페이지당 노출되는 결과 수 |
number | Integer |
페이지 번호 |
numberOfElements | Integer |
현재 페이지에 응답된 결과 수 |
이름 | 타입 | 설명 |
---|---|---|
bondAmount | Long |
채권 금액 |
bondType | String |
채권 유형(GENERAL, PENALTY) |
businessRegistrationNumber | String |
사업자 등록 번호 |
companyName | String |
사업자 이름 |
dueDt | String |
상환 기간 |
lastestRepaymentDt | String |
최근 상환일 |
overdue | Boolean |
연체 여부 |
remainedBondAmount | Long |
채권 잔액 |
repayable | Boolean |
미결제액 존재여부 |
repaymentAmount | Long |
상환 누적금액 |
repaymentCompleted | Boolean |
상환여부 |
repaymentPeriod | String |
결제기준일(DAYS_30, DAYS_60, DAYS_90, DAYS_120) |
repaymentStatus | String |
채권 상태(READY, PARTIAL, DONE, OVERDUE) |
settleDt | String |
정산월 |
repayments | RepaymentTo[] |
상환 상세 |
이름 | 타입 | 설명 |
---|---|---|
chargeAmount | Long |
충전 금액 |
chargeMethod | String |
충전 방법 |
chargeMethodDetail | String |
충전 방법 상세 |
dt | String |
날짜 |
journalTransactionId | String |
저널식별자 |
memberEmail | String |
거래자 카카오 이메일 |
memberId | String |
거래자 ID |
memberName | String |
거래자 이름 |
memberStatus | String |
거래자 상태 |
memberType | String |
충전 거래자 유형, 아래 중 하나DSP_ACCOUNT : 광고계정ID를 사용해 DSP 또는 API로 충전하는 광고주INHOUSE_ACCOUNT : 어드민 기능으로 충전하는 카카오 내부 관리자AGENCY_ACCOUNT : 에이전시 플랫폼에서 충전하는 마케터 혹은 대행사SYSTEM : 카카오 시스템 |
repaymentAmount | Long |
상환 금액 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/bond?page=0&size=20" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"content": [
{
"bondAmount": 10000,
"bondType": "GENERAL",
"businessRegistrationNumber": "string",
"companyName": "string",
"dspId": "KAKAOMOMENT",
"dueDt": "90",
"lastestRepaymentDt": "string",
"overdue": true,
"remainedBondAmount": 0,
"repayable": true,
"repaymentAmount": 10000,
"repaymentCompleted": false,
"repaymentPeriod": "DAYS_90",
"repaymentStatus": "READY",
"settleDt": "2024-02",
"repayments": [
{
"chargeAmount": 0,
"chargeMethod": "string",
"chargeMethodDetail": "string",
"dt": "yyyy-MM-dd'T'HH:mm:ss",
"journalTransactionId": "string",
"memberEmail": "string",
"memberId": "string",
"memberName": "string",
"memberStatus": "string",
"memberType": "DSP_ACCOUNT",
"repaymentAmount": 10000
}
]
}
],
"pageable": {
"pageNumber": 0,
"pageSize": 20,
"sort": {
"empty": true,
"sorted": false,
"unsorted": true
},
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalElements": 1,
"totalPages": 0,
"first": true,
"size": 20,
"number": 1,
"sort": {
"empty": true,
"sorted": false,
"unsorted": true
},
"numberOfElements": 0,
"empty": true
}
메서드 | URL | 인증 방식 |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/bond/repay |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고 전용 후불 광고주 대상으로 결제 가능 내역을 조회합니다. 결제 가능한 금액은 미결제 금액으로, 전체 미결제 금액 중 가상계좌 입금대기 금액을 제외한 금액입니다. 미결제 금액에 대해 후불 결제 요청으로 결제 가능합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 GET
으로 요청합니다. 요청 성공 시 응답은 결제 가능 내역을 포함합니다. 실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 |
---|---|---|
nextDueDt | String |
다음 결제기한일 |
repays | RepayTo[] |
정산 결제 정보 |
이름 | 타입 | 설명 |
---|---|---|
dueDtRemainedBondAmount | Long |
기한일 기준 미결제 금액 |
planRepayAmount | Long |
가상계좌 입금대기 금액 |
remainedBondAmount | Long |
전체 미결제 금액 |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/bond/repay" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"repays": [
{
"dueDtRemainedBondAmount": 0,
"planRepayAmount": 0,
"remainedBondAmount": 0
}
],
"nextDueDt": "string"
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/bond/repay |
비즈니스 토큰 |
권한 | 사전 설정 | 비즈니스 인증 | 비즈니스 동의항목 |
---|---|---|---|
필요: 제휴 및 대행 계약 | 비즈 앱 전환 비즈니스 리다이렉트 URI 등록 비즈니스 동의항목 |
필요 | 필요 |
쉬운 메시지광고 전용 후불 광고주 대상으로 후불 결제를 요청합니다. 결제 가능 내역 조회로 확인한 미결제 금액에 대해 결제 요청해야 합니다. 결제 요청 시 카카오 고객센터 연락처(1577-3754)를 제공해 결제 중 발생하는 문제를 문의할 수 있도록 안내해야 합니다.
비즈니스 토큰과 카카오톡 채널 프로필 ID를 헤더에 담아 POST
로 요청합니다. 요청 시 제휴사가 제공하는 결제 완료 후 랜딩 페이지의 URL을 redirectUrl
로 전달해야 합니다. 요청 성공 시 응답은 PG사의 팝업 결제 페이지 URL인 paymentUrl
를 포함합니다.
요청 파라미터의 redirectUrl
과 응답 필드의 paymentUrl
값으로 아래와 같이 결제 요청을 처리할 수 있습니다.
paymentUrl
을 새 창으로 열어 사용자가 결제를 수행하도록 합니다. location.href = '#redirect_url#'
)으로 부모창을 제어해 redirectUrl
로 돌아갑니다.실패 시 에러 코드 및 상세 에러 코드로 원인을 확인합니다.
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} 인증 방식, 비즈니스 토큰으로 인증 요청 |
O |
channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID} 카카오톡 채널 프로필 ID |
O |
Content-Type | Content-Type: application/json 요청 데이터 타입 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
amount | Long |
결제 금액 | O |
redirectUrl | String |
제휴사가 제공하는 결제 완료 후 랜딩 페이지의 URL | O |
userIp | String |
결제 요청자 IP 제휴사 또는 선불 광고주의 IP |
O |
이름 | 타입 | 설명 |
---|---|---|
kakaoBillingTxId | String |
트랜잭션(Transaction) ID |
paymentUrl | String |
PG사의 팝업 결제 페이지 URL |
curl -X GET "https://apis.moment.kakao.com/openapi/message/v1/message-ad-accounts/wallet/bond/repay" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "channel-profile-id: ${channel-profile-id}" \
-H "Content-Type: application/json"
-d '{
"amount" : 10000,
"redirectUrl" : "https://daum.net",
"userIp" : "127.0.0.1"
}'
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"kakaoBillingTxId": "7000000000385335",
"paymentUrl": "https://dkpg-web.payments.kakao.com/dkpg/v1/pay_form?&dkpg_payment_id=7000000000385335&session_key=1699590828399-3d15a741-e751-4aea-9973-bc4538981b78"
}