결제 내역 조회하기
고객의 결제 내역이나 환불한 내역을 표시해야 하거나 가맹점이 특정 결제 내역를 확인해야 한다면 결제 내역 조회 API를 이용할 수 있습니다. 가맹점에서 발급한 주문 번호나 LINE Pay 서버가 응답으로 전달한 트랙잭션 ID 정보를 이용해 다음과 같이 결제 내역을 요청하세요.
온라인 API를 호출할 때 필요한 자격 증명 정보를 얻는 방법은 API 자격 증명 준비를 참고하세요. 이 페이지에 설명된 코드 예제는 API 자격 증명 준비 코드 예제에 정의된
requestOnlineAPI()
함수를 이용합니다.
const getPaymentInfo = async function ({ orderIds = [], transactionIds = [] }) {
if (orderIds.length === 0 && transactionIds.length === 0) {
throw new Error(
"At least one of order ID or transaction ID must be input."
);
} else {
const orderIdsQuery = new URLSearchParams(
orderIds.map((value) => ["orderId", value])
);
const transactionIdsQuery = new URLSearchParams(
transactionIds.map((value) => ["transactionId", value])
);
let response = await requestOnlineAPI({
method: "GET",
baseUrl: targetAPIServer,
apiPath: `/v3/payments/${requestTransactionId}/confirm`,
queryString: `${orderIdsQuery.toString()}&${transactionIdsQuery.toString()}`,
});
return response;
}
};
// ...
try {
let response = getPaymentInfo({
orerIds: ["20230601ORD45678910", "20230601ORD45678911"],
});
console.log("Response: ", response);
} catch (error) {
console.log(error);
}
동일한 쿼리 파라미터를 1 개 이상 추가하여 주문 번호와 트랜잭션 ID를 1 개 이상 설정할 수 있으며, API 호출당 결제 내역을 최대 100 건 조회할 수 있습니다.
트랜잭션 ID 정보를 다룰 때 플랫폼에 따라 트랜잭션 ID를 문자열로 처리해야 할 수도 있습니다. 자세한 설명은 트랜잭션 ID를 참고하세요.
조회한 결제 내역에 따라 응답에 포함되는 정보가 다릅니다. 다음은 응답으로 받은 결제 내역의 예입니다.
{
"returnCode": "0000",
"returnMessage": "success",
"info": [
{
"transactionId": 2019060112345678910,
"transactionDate": "2019-06-01T09:00:00Z",
"transactionType": "PAYMENT",
"payInfo": [
{ "method": "BALANCE", "amount": 110 }
],
"productName": "test production",
"currency": "TWD",
"orderId": "20190601ORD45678910",
// ...
"packages": [
{
"id": "1",
"amount": 85,
"userFeeAmount": 0
},
{
"id": "3",
"amount": 5,
"userFeeAmount": 0
}
]
// ...
}
]
}
환불한 이력이 있는 결제 내역을 조회했다면 다음과 같이 환불 정보(info.refundList
)가 포함됩니다.
{
"returnCode": "0000",
"returnMessage": "success",
"info": [
{
// ...
"refundList": [
{
"refundTransactionId": 2019060112345678911,
"transactionType": "PARTIAL_REFUND",
"refundAmount": -1,
"refundTransactionDate": "2019-06-06T09:00:00Z"
}
// ...
]
// ...
}
]
}
환불 후 받은 응답이나 위와 같이 결제 내역을 조회해 파악한 환불 트랜잭션 ID(info.refundList.refundTransactionId
)를 이용해 결제 내역을 조회하면 아래와 같이 자세한 환불 내역을 확인할 수 있습니다.
{
"returnCode": "0000",
"returnMessage": "success",
"info": [
{
"transactionId": 2019060112345678912,
"transactionDate": "2019-06-01T09:48:43Z",
"transactionType": "PARTIAL_REFUND",
"payInfo": [
{
"method": "CREDIT_CARD",
"amount": 85
},
{
"method": "POINT",
"amount": 8
}
],
"productName": "Brown",
"currency": "TWD",
"orderId": "20190101123123123",
"originalTransactionId": 2019060112345678910
}
]
}