init method
void
init()
Implementation
void init() {
ScriptElement customCode = ScriptElement();
customCode.innerText = '''
function loadRazorpay(details) {
var rzp = new Razorpay(details);
rzp.on('payment.error', (error) => {
window.postMessage({
error: {
code: response.error.code,
description: response.error.description,
source: response.error.source,
step: response.error.step,
reason: response.error.reason,
metadata: response.error.metadata
}
});
});
rzp.open();
};
window.addEventListener('PaymentBridge.razorpay.open', (ev) => {
ev.detail.handler = (response) => {
window.postMessage({
success: {
id: response.razorpay_payment_id,
orderId: response.razorpay_order_id,
signature: response.razorpay_signature
}
});
};
loadRazorpay(ev.detail);
});
''';
querySelector('head')?.append(customCode);
window.onMessage.listen((MessageEvent ev) {
if (ev.data['success'] != null) {
PaymentBridgeSuccess(
id: ev.data['success']['id'],
orderId: ev.data['success']['orderId'],
signature: ev.data['success']['signature'],
);
}
if (ev.data['error'] != null) {
PaymentBridgeError(
code: ev.data['error']['code'],
message: ev.data['error']['message'],
);
}
});
}