결제 요청
가맹점 단말기로부터 전달받은 결제 정보를 이용해 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 | 결제 금액 | ||
capture | boolean | 자동 매입 여부. 결제 요청 후 결제 승인과 매입을 동시에 처리할지 분리할지 결정합니다. 기본 값은
| ||
currency | string | 3 | 결제 통화 코드(ISO 4217). 지원하는 통화 코드는 다음과 같습니다.
| |
extras | object | 결제 추가 정보 | ||
oneTimeKey | string | 118(TW), 12(TH and Global) | LINE Pay 사용자의 내 코드. 가맹점의 단말기가 고객의 내 코드를 스캔해 얻은 값입니다. 이 값은 고객이 내 코드를 생성한 시점부터 5 분 동안 유효합니다. | |
orderId | string | 100 | 주문 번호. 가맹점에서 주문을 관리하기 위해 생성한 ID를 입력하세요. | |
productName | string | 4000 | 상품 이름 |
- Content-Type
- X-LINE-ChannelId
- X-LINE-ChannelSecret
- 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-ChannelSecret: YOUR_CHANNEL_SECRET" \
-H "X-LINE-MerchantDeviceProfileId: YOUR_DEVICE_PROFILE_ID" \
-d '{
"productName": "test product",
"amount": 100,
"currency": "THB",
"orderId": "merchant_test_order_1",
"oneTimeKey": "123456789012",
"extras" : {
"addFriends" : [
{
"type" : "LINE_AT",
"idList" : ["@aaa"]
}
],
"branchName" : "test_branch_1",
"branchId" : "branch1"
}
}' \
https://sandbox-api-pay.line.me/v2/payments/oneTimeKeys/pay