본문으로 건너뛰기

결제 요청

가맹점 단말기로부터 전달받은 결제 정보를 이용해 LINE Pay 서버에 결제를 요청합니다. 결제 정보에는 고객이 결제할 제품 정보와 고객이 결제를 위해 가맹점 단말기에 제공한 내 코드(oneTimeKey) 정보, 가맹점 정보를 명시하세요. 결제 요청이 문제없이 처리되면 결제가 완료됩니다.

결제 승인과 매입을 분리한 상태라면 이 API를 호출하더라도 결제가 완료되지 않으며, 이후 매입이나 승인 취소를 해야 합니다.

트랜잭션 ID가 응답으로 반환되는데, 이 트랜잭션 ID를 이용해 승인 취소, 매입, 환불을 요청할 수 있습니다. 만약, read 타임아웃이 발생해 응답을 수신하지 못했다면, 결제 상태를 조회해 결과를 확인하고 트랜잭션 ID를 확보하세요.

POST /v2/payments/oneTimeKeys/pay

Read 타임아웃은 40 초 이상으로 설정하세요.

결제를 완료했다면 응답에서 결제 합계 금액(info.payInfo[].amount)이 요청한 결제 금액과 일치하는지 반드시 확인하세요. 금액이 일치하지 않는다면 LINE Pay에 환불을 요청해야 합니다.

Path

None

Query

None

Body

Name
TypeLengthDescription
Required
amountnumber

결제 금액

captureboolean

자동 매입 여부. 결제 요청 후 결제 승인과 매입을 동시에 처리할지 분리할지 결정합니다. 기본 값은 true입니다.

  • true: 동시에 처리합니다.
  • false: 분리해 처리합니다.
currencystring3

결제 통화 코드(ISO 4217). 지원하는 통화 코드는 다음과 같습니다.

  • "USD"
  • "TWD"
  • "THB"
extrasobject

결제 추가 정보

oneTimeKeystring118(TW), 12(TH and Global)

LINE Pay 사용자의 내 코드. 가맹점의 단말기가 고객의 내 코드를 스캔해 얻은 값입니다. 이 값은 고객이 내 코드를 생성한 시점부터 5 분 동안 유효합니다.

orderIdstring100

주문 번호. 가맹점에서 주문을 관리하기 위해 생성한 ID를 입력하세요.

productNamestring4000

상품 이름

Headers
  • 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