JavaScript SDK for integrating with Belong.net widget for seamless payment implementation on your website or application frontend.
You can install using npm, yarn, or pnpm:
pnpm add @belongnet/sdk
# or
npm install @belongnet/sdk
# or
yarn add @belongnet/sdk
and then import it in your project:
import { createPaymentFrame } from '@belongnet/sdk'
To load scripts as modules, it's recommended to use esm.sh. Add this to the bottom of your HTML file:
<script type="module">
import { createPaymentFrame } from 'https://esm.sh/@belongnet/sdk@0.1.5'
</script>
Note: Pin the version number to avoid breaking changes in production.
You can also try jsDelivr or unpkg, but they haven't been tested.
Use in your project:
createPaymentFrame({
el: document.getElementById('belong-payment-frame'),
params: {
target: 'event-ticket',
eventId: 'f9b2ea4c7be71407fcb6ed2c',
},
})
To determine the outcome of a payment (success or failure and etc), you can set up event listeners that listen to events from the payment frame.
We provide isPaymentEvent
utility to help identify payment-related events.
import { isPaymentEvent } from '@belongnet/sdk'
function handlePayment(e: MessageEvent) {
if (isPaymentEvent(e)) {
switch (e.data.type) {
case 'payment-success':
// logic for successful payment
console.log('payment-success', e.data.payload.link)
break
case 'payment-error':
// logic for payment error
console.log('payment-error', e.data.payload)
break
}
}
}
// Add the event listener to listen for messages from the payment frame:
window.addEventListener('message', handlePayment)
// Remove the event listener when it is no longer needed to avoid potential memory leaks
function onUnmount() {
window.removeEventListener('message', handlePayment)
}
This method makes sure your app reacts well to payment events, giving users a smooth experience even if payments fail. But it's only for showing visual changes on the frontend. For safer payments, you need server-side processing with the API too.
Creates a payment frame for embedding payment forms.
Example:
const { frame, url } = createPaymentFrame({
el: document.getElementById('payment-frame'),
origin: 'https://example.com',
params: {
target: 'event-ticket',
eventId: 'f9b2ea4c7be71407fcb6ed2c',
},
})
Checks if the provided event is a Belong payment event.
-
Type:
string
-
Default:
"loaded"
-
Type:
string
-
Default:
"payment-canceled"
-
Type:
string
-
Default:
"payment-error"
-
Type:
string
-
Default:
"payment-success"
-
Type:
string
-
Default:
"event-ticket"
-
Type:
string
-
Default:
"hub-minting"
Validates the provided payment event data.
Validates the provided parameters.
This project is licensed under the terms of the MIT license.
🤖 auto updated with automd