결제 요청
가맹점 단말기로부터 전달받은 결제 정보를 이용해 LINE Pay 서버에 결제를 요청합니다. 결제 정보에는 고객이 결제할 제품 정보와 고객이 결제를 위해 가맹점 단말기에 제공한 내 코드(oneTimeKey) 정보, 가맹점 정보를 명시하세요. 결제 요청이 문제없이 처리되면 결제가 완료됩니다.
결제 승인과 매입을 분리한 상태라면 이 API를 호출하더라도 결제가 완료되지 않으며, 이후 매입이나 승인 취소를 해야 합니다.
트랜잭션 ID가 응답으로 반환되는데, 이 트랜잭션 ID를 이용해 승인 취소, 매입, 환불을 요청할 수 있습니다. 만약, read 타임아웃이 발생해 응답을 수신하지 못했다면, 결제 상태를 조회해 결과를 확인하고 트랜잭션 ID를 확보하세요.
Read 타임아웃은 40 초 이상으로 설정하세요.
결제를 완료했다면 응답에서 결제 합계 금액(
info.payInfo[].amount)이 요청한 결제 금액과 일치하는지 반드시 확인하세요. 금액이 일치하지 않는다면 LINE Pay에 환불을 요청해야 합니다.
Path
None
Query
None
Body
Name | Type | Length | Description | Required |
|---|---|---|---|---|
amount | number | 결제 금액 | ||
currency | string | 3 | 결제 통화 코드(ISO 4217). 지원하는 통화 코드는 다음과 같습니다.
| |
oneTimeKey | string | 118(TW), 12(TH and Global) | LINE Pay 사용자의 내 코드. 가맹점의 단말기가 고객의 내 코드를 스캔해 얻은 값입니다. 이 값은 고객이 내 코드를 생성한 시점부터 5 분 동안 유효합니다. | |
options | object | 결제 요청 설정 정보 | ||
orderId | string | 100 | 주문 번호. 가맹점에서 주문을 관리하기 위해 생성한 ID를 입력하세요. | |
packages[] | object array | 배송 단위 또는 점포 단위로 구분한 상품 패키지 정보 |
- Content-Type
- X-LINE-ChannelId
- X-LINE-Authorization
- X-LINE-Authorization-Nonce
- X-LINE-MerchantDeviceProfileId
- X-LINE-MerchantDeviceType
자세한 내용은 요청 헤더를 참고하세요.
Request examples
curl -X POST \
-H "Content-Type: application/json" \
-H "X-LINE-ChannelId: YOUR_CHANNEL_ID" \
-H "X-LINE-Authorization-Nonce: GENERATED_NONCE" \
-H "X-LINE-Authorization: PROCESSED_SIGNATURE" \
-H "X-LINE-MerchantDeviceProfileId: YOUR_DEVICE_PROFILE_ID" \
-d '{
"amount": 100,
"orderId": merchant_test_order_1,
"oneTimeKey": "12345678901245678",
"currency": "TWD",
"options":{
"extra":
{
"branchId": "branch1"
"branchName": "test_branch_1",
}
},
"packages":
[
{
"id": "29d2397-357f-3446-58315",
"amount": 100,
"products":
[
{
"name": "test product",
"quantity": 1,
"price": 100
}
],
}
]
}' \
https://sandbox-api-pay.line.me/v4/payments/oneTimeKeys/pay