console
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FlyPay SDK Demo</title>
<style>
body {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
</style>
</head>
<body>
<div id="flypayContainer"></div>
<script>
function loadScript(url, key) {
return new Promise((resolve, reject) => {
if (window[key]) {
resolve(window[key]);
return;
}
const script = document.createElement('script');
script.src = url;
script.async = true;
script.onload = () => resolve(window[key]);
script.onerror = () => reject(new Error('Failed to load script'));
document.head.appendChild(script);
});
}
function mockOrderData(no) {
return {
"invoice_id": no,
"order_no": no,
"amount": 3.18,
"currency": "USD",
"buyer_email": "testtest001@qq.com",
"notify_url": "https://www.sdk.com/front/notify",
"return_url": "https://www.sdk.com/front/return",
"website": "https://www.sdk.com",
"remark": "测试备注",
"source": "S004",
"goods": [
{
"desc": "灰常灰常牛皮",
"item_num": 10,
"name": "iphone 15 pro max",
"price": 10,
"url": "www.baidu.com"
}
],
"collect": {
"collect_name": "Tom收款",
"collect_detail": "Tom收款明细",
"collect_desc": "Tom收款描述",
"payee": "收款方",
"payer": "Tom"
},
"shipping": {
"address_line": "chencheng",
"city": "ChengDu",
"country": "US",
"email": "test@qq.com",
"first_name": "Jerry",
"last_name": "Jerry",
"phone": "123456",
"state": "HeNan",
"zipcode": "100001"
},
"buyer": {
"first_name": "Jerry",
"last_name": "Tom",
"country": "US",
"cert_type": "01",
"cert_no": "111",
"buyer_ip": "1.1.1.1",
"buyer_email": "Jerry@tom.com"
}
}
}
function callFlyPay(orderData) {
var options = { id: 'flypayContainer', public_key: "M200010000001203", orderData: orderData }
loadScript('https://test.tuotuoshuke.com/third-website/flypay.min.js', 'FlyPay').then(function () { new FlyPay(options) });
}
callFlyPay(mockOrderData('ZXONE202' + new Date().getTime()));
</script>
</body>
</html>