vue

. VUE ..

const amount = {
currency: "KRW",
value: 50_000,
}
const main = async () => {
const tossPayments = await loadTossPayments(
"test_gck_docs_Ovk5rk1EwkEbP0W43n07xlzm"
)
const widgets = tossPayments.widgets({
customerKey: ANONYMOUS,
})

/
* .
* renderPaymentMethods, renderAgreement, requestPayment .
* @docs https://docs.tosspayments.com/sdk/v2/js#widgetssetamount
*/
await widgets.setAmount(amount)

await Promise.all([
/

* .
* @docs https://docs.tosspayments.com/sdk/v2/js#widgetsrenderpaymentmethods
*/
widgets.renderPaymentMethods({
selector: "#payment-method",
// 제 UI의 variantKey
// 티 UI.
// @docs https://docs.tosspayments.com/guides/v2/payment-widget/admin#새로운-결제-ui-추가하기
variantKey: "DEFAULT",
}),
/**
* .
* @docs https://docs.tosspayments.com/reference/widget-sdk#renderagreement선택자-옵션
*/
widgets.renderAgreement({
selector: "#agreement",
variantKey: "AGREEMENT",
}),
])

const button = document.getElementById("payment-button")

// button.addEventListener("click", async () => {})
}

const paymentBtn = async () => {
try {
await widgets.requestPayment({
orderId: generateRandomString(),
orderName: "외 2",
successUrl: window.location.origin + "/sandbox/success",
failUrl: window.location.origin + "/sandbox/fail",
customerEmail: "customer123@gmail.com",
customerName: "",
customerMobilePhone: "01012341234",
})
} catch (err) {
// TODO:
}
}

onMounted(() => {
main()
console.log("props.orderData :: ", props.orderData)
})

.
2025-07-10_7.13.38.png
젯 JavaScript SDK.
결제위젯 JavaScript SDK(Version 1) | 토스페이먼츠 개발...
츠 JavaScript SDK.
토스페이먼츠 JavaScript SDK | 토스페이먼츠 개발자센터
제 UI.
결제위젯 어드민 설정하기 | 토스페이먼츠 개발자...
Was this page helpful?