openpay-sdk-web-wasm
v0.1.0
Published
openpay sdk for web
Readme
JavaScript/TypeScript Client SDK for Openpay 👨💻💬
The underlying SDK core is implemented in Openpay SDK. Using the WebAssembly support provided by Go language, it can be compiled into wasm for web integration. The web interacts with the Openpay SDK through JSON, and the SDK exposes a re-encapsulated API for easy usage.
Installation 💻
Adding Dependencies
npm install openpay-sdk-web-wasm --saveObtaining Required Static Resources for WASM
Follow these steps to obtain the static resources required for WebAssembly (WASM):
Locate the
openpay-sdk-web-wasmsubdirectory in thenode_modulesdirectory of your project. Copy all the files in theassetsfolder to your project's public resource directory.The files to be copied are:
openpay.wasmwasm_exec.js
After copying the files, import the
wasm_exec.jsfile in yourindex.htmlfile using a<script>tag.
Possible Issues ❗
if you are using webpack4, you may flow this issue How to import openpay-sdk-web-wasm in webpack4.x.
Usage 🚀
The following examples demonstrate how to use the SDK. TypeScript is used, providing complete type hints.
Importing the SDK
import { getSDK } from 'openpay-sdk-web-wasm';
const OpenPay = getSDK();Initizlize and Listening for Connection Status
import { CbEvents, WSEvent } from 'openpay-sdk-web-wasm';
OpenPay.on(CbEvents.OnConnecting, handleConnecting);
OpenPay.on(CbEvents.OnConnectFailed, handleConnectFailed);
OpenPay.on(CbEvents.OnConnectSuccess, handleConnectSuccess);
OpenPay.initSDK({
logLevel: 6,
platformID: 5,
apiAddr: 'http://your-server-ip:10002',
wsAddr: 'ws://your-server-ip:10001',
});
function handleConnecting() {
// Connecting...
}
function handleConnectFailed({ errCode, errMsg }: WSEvent) {
// Connection failed ❌
console.log(errCode, errMsg);
}
function handleConnectSuccess() {
// Connection successful ✅
}Browser Support 🌐
| Browser | Desktop OS | Mobile OS | | ------------------- | --------------------- | --------- | | Chrome (61+) | Windows, macOS, Linux | Android | | Firefox (58+) | Windows, macOS, Linux | Android | | Safari (15+) | macOS | iOS | | Edge (Chromium 16+) | Windows, macOS | |
