extramiles-payment-sdk
v0.4.8
Published
ExtraMiles wrapper SDK for MBME payments (standalone UMD)
Maintainers
Readme
ExtraMiles Payment SDK (UMD)
A small, standalone JavaScript wrapper around MBME.
Build/Deploy
Ships the UMD bundle at dist/extramiles-payment.umd.js. Serve it from any domain.
Usage
<script src="https://your.cdn.com/extramiles-payment.umd.js"></script>
<script>
(async function(){
const sdk = new window.ExtraMilesPayment({
apiBaseUrl: 'https://your-app.example.com',
mbmeBaseUrl: 'https://pgapi.mbme.org'
});
await sdk.startEmbeddedPayment({
uid: '168',
orderPayload: {
uid: '168',
customerName: 'John Doe',
mobileCountryCode: '+971',
mobileNumber: '501234567',
email: '[email protected]',
amount: 1.00,
currency: 'AED',
referenceNumber: 'ABC123',
saveCard: false,
successUrl: location.origin + '/payment/success',
failureUrl: location.origin + '/payment/failure'
},
mount: { elementId: 'payment-container' }
});
})();
</script>Advanced: Manual steps
const sdk = new ExtraMilesPayment({ apiBaseUrl: 'https://your-api', mbmeBaseUrl: 'https://pgapi.mbme.org' });
const order = await sdk.createOrder(orderPayload);
const session = await sdk.initializeSession({ uid, oid: order.oid, timestamp: order.timestamp, amount, currency });
sdk.sessionData = session;
await sdk.mountWidget({ elementId: 'payment-container', uid, oid: order.oid, timestamp: order.timestamp, amount, currency });Notes
- Calls
/api/payment/create-payment-orderand/api/payment/generate-signatureby default; override viacreateOrderEndpointandsignatureEndpoint. - Exposes global
window.ExtraMilesPayment.
