개발자

임베드 위젯

고객은 여러분의 도메인을 벗어나지 않고 결제합니다. API로 인보이스를 생성하고 자체 페이지에 CryBit 결제 폼을 렌더링하세요.

1. 인보이스 생성

동일한 POST /api/v1/payments를 사용하세요. 응답에는 항상 인보이스 uuid와 동일한 confirmation.confirmation_token이 포함됩니다. 요청의 confirmation 필드는 선택 사항입니다.

2. 스크립트 로드 및 컨테이너 추가

HTML

<script src="https://pay.crybit.net/widget.js"></script>
<div id="payment-form"></div>

3. 폼 렌더링

JavaScript

const checkout = new CryBitCheckout({
  confirmation_token: 'INVOICE-UUID',
  return_url: 'https://merchant.example/thanks',
  lang: 'en',
  error_callback: (err) => console.log(err),
})

checkout.render('payment-form').then(() => { /* the form is shown */ })
checkout.on('success', () => { /* status paid: confirm the order by webhook or GET */ })
checkout.on('fail', () => { /* expired, cancelled or refunded */ })
checkout.on('complete', () => checkout.destroy())

모달 창

페이지에 컨테이너가 없다면 customization: { modal: true }(또는 modal: true)로 위젯을 사이트 위에 열고, checkout.render()를 인자 없이 호출하세요.

옵션 및 이벤트

옵션설명
confirmation_token필수. 인보이스 uuid입니다(별칭: uuid, invoice_uuid).
return_url결제 후 고객이 이동할 위치입니다.
lang인터페이스 언어이며, 지정하지 않으면 브라우저 언어가 사용됩니다.
modal / customization.modal컨테이너 대신 팝업으로 표시하려면 true로 설정하세요.
error_callback, success_callback오류가 발생했을 때(토큰 없음, 컨테이너 없음)와 상태가 paid로 바뀌었을 때 호출됩니다.

이벤트: ready, status, success, fail, complete, close, error. 메서드: render(id), on(event, fn), destroy().

주문 확정은 webhook이나 상태 조회를 기준으로 하세요. 위젯 이벤트는 사용자 인터페이스 용도로만 사용해야 합니다.

FAQ

위젯을 테스트할 수 있나요?

네, 가능합니다. 테스트 가맹점에서는 위젯에 인보이스를 결제 완료로 표시하는 버튼이 나타나며 잔액은 적립되지 않습니다.

더 보기

API 키 발급받기