결제 승인시 paymentKey는 어떻게 생성되는건가요?
https://github.com/tosspayments/payment-samples/blob/main/payment-window/springboot/src/main/resources/static/index.html 이걸 참고하고있습니다. 결제 성공 시에 /success로 요청보낼때 파라미터가 paymentkey가 있어야하던데 paymentkey는 어떻게 생성되고 /success요청시 파라미터로 추가되는건가요?
GitHub
payment-samples/payment-window/springboot/src/main/resources/static...
Contribute to tosspayments/payment-samples development by creating an account on GitHub.
9 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
paymentKey 는 토스페이먼츠에서 생성해서 successUrl 에 get method 로 전달됩니다. 이걸 받고 backend 로 승인요청을 하시면 됩니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
혹시 paymentKey을 successUrl에 get으로 전달말고 다른정보들과 함께body에 post로 전달할 수 있을까요?
successUrl 로는 get 방식으로만 전달됩니다.
인증결과라서 amount, orderId, paymentKey 외 다른정보들은 드릴게 없구요
보내셨던 parameter 를 되돌려 받고 싶으신거라면 successUrl 뒤에 queryParam 형태로 붙여서 세팅하시면 됩니다
지금 저가 쇼핑몰 물건 구매 하는 기능을 구현하고있습니다.
그런데 결제 승인이랑 주문내역,결제내역 저장을 하나의 트랜잭션안에 처리하고싶은데
프론트에서 백으로 요청을 보낼때 3개의 파라미터랑 주문내역을 한번에 보내는것은 불가능할까요?
결제는
인증 / 승인 두개의 절차가 완료 되어야 비로소 결제 완료가 되는 것 입니다.
고로, 승인 요청의 결과로서 주문내역을 받으셔야 합니다.
그러면 let jsons = {
"card": {
"amount": amount,
"orderId": orderId,
"orderName": "토스 티셔츠 외 2건",
"successUrl": successUrl, // Remove additionalSuccessUrl parameter
"failUrl": failUrl,
"cardCompany": null,
"cardInstallmentPlan": null,
"maxCardInstallmentPlan": null,
"useCardPoint": false,
"customerName": "박토스",
"customerEmail": null,
"customerMobilePhone": null,
"taxFreeAmount": null,
"useInternationalCardOnly": false,
"flowMode": "DEFAULT",
"discountCode": null,
"appScheme": null
}
}; 여기에 상품정보같은걸 추가로 저장가능한가요?
successUrl 뒤쪽에 쿼리 파람으로 추가 하시면 됩니다
그러면
amount, orderId, paymentKey 여기에
successUrl 에 추가로 보낸 파람이 더해져서 전달 됩니다
예)
test.com?foo=bar 로 보내면
인증 성공하고 아래처럼 get method 로 전달 됩니다
test.com?foo=bar&amount=1234&orderId=orderIdId&paymentKey=paymentKey