From b99f8fd523342e4b39689922fdbb86386fe031d1 Mon Sep 17 00:00:00 2001 From: zhx Date: Wed, 24 Jun 2026 19:05:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dlalu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- recharge/config/back.aslan.json | 330 ++++++++++++++++++++++++++++++++ recharge/index.html | 42 +++- 2 files changed, 368 insertions(+), 4 deletions(-) create mode 100644 recharge/config/back.aslan.json diff --git a/recharge/config/back.aslan.json b/recharge/config/back.aslan.json new file mode 100644 index 0000000..ba0d004 --- /dev/null +++ b/recharge/config/back.aslan.json @@ -0,0 +1,330 @@ +{ + "app": "aslan", + "adapter": "aslan-web-pay", + "application_id": "1963531459019739137", + "sys_origin": "ATYOU", + "type": "GOLD", + "checked_at": "2026-06-24T10:53:44.241Z", + "check_target": "https://platform.xqdmipay.com/paygateway/mbpay/order/en_v2", + "check_rule": "Methods returning MiFaPay code 000000 are kept in aslan.json; other methods are moved here with the returned reason.", + "total_checked": 49, + "unsupported_count": 13, + "providers": { + "mifapay": { + "provider_code": "mifapay", + "provider_name": "MiFaPay", + "status": "backup_unsupported", + "countries": [ + { + "country_code": "EG", + "country_name": "Egypt", + "currency_code": "EGP", + "methods": [ + { + "pay_way": "Card", + "pay_type": "CreditCard", + "method_name": "Egypt Credit Card", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/eg/card-creditcard.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + }, + { + "pay_way": "Ewallet", + "pay_type": "Opay", + "method_name": "Opay", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/eg/ewallet-opay.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + } + ] + }, + { + "country_code": "GLOBAL", + "country_name": "Global", + "currency_code": "USD", + "methods": [ + { + "pay_way": "BankTransfer", + "pay_type": "UnionPay", + "method_name": "UnionPay", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/global/banktransfer-unionpay.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + }, + { + "pay_way": "Card", + "pay_type": "CreditCard", + "method_name": "Credit Card", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/global/card-creditcard.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + }, + { + "pay_way": "Ewallet", + "pay_type": "ApplePay", + "method_name": "Apple Pay", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/global/ewallet-applepay.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + }, + { + "pay_way": "Ewallet", + "pay_type": "GooglePay", + "method_name": "Google Pay", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/global/ewallet-googlepay.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + } + ] + }, + { + "country_code": "ID", + "country_name": "Indonesia", + "currency_code": "IDR", + "methods": [ + { + "pay_way": "BankTransfer", + "pay_type": "QRIS", + "method_name": "QRIS Bank Transfer", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/id/banktransfer-qris.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + } + ] + }, + { + "country_code": "KW", + "country_name": "Kuwait", + "currency_code": "KWD", + "methods": [ + { + "pay_way": "Card", + "pay_type": "KENT", + "method_name": "KENT", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/kw/card-kent.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + } + ] + }, + { + "country_code": "MY", + "country_name": "Malaysia", + "currency_code": "MYR", + "methods": [ + { + "pay_way": "BankTransfer", + "pay_type": "FPX", + "method_name": "FPX", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/my/banktransfer-fpx.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + }, + { + "pay_way": "Ewallet", + "pay_type": "TNG", + "method_name": "Touch n Go", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/my/ewallet-tng.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + } + ] + }, + { + "country_code": "PH", + "country_name": "Philippines", + "currency_code": "PHP", + "methods": [ + { + "pay_way": "BankTransfer", + "pay_type": "QRPH", + "method_name": "QRPH Bank Transfer", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/ph/banktransfer-qrph.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + } + ] + }, + { + "country_code": "TH", + "country_name": "Thailand", + "currency_code": "THB", + "methods": [ + { + "pay_way": "BankTransfer", + "pay_type": "PromptPay", + "method_name": "PromptPay", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/th/banktransfer-promptpay.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + }, + { + "pay_way": "Ewallet", + "pay_type": "TrueMoney", + "method_name": "TrueMoney", + "logo_url": "https://media.haiyihy.com/admin/payment/mifapay/logos/th/ewallet-truemoney.png", + "disabled_reason": "MiFaPay returned 100001: User configuration error", + "probe": { + "code": "100001", + "msg": "User configuration error", + "tested_amount": "10000", + "attempts": [ + { + "amount": "10000", + "code": "100001", + "msg": "User configuration error", + "http_status": 200 + } + ] + } + } + ] + } + ] + } + } +} diff --git a/recharge/index.html b/recharge/index.html index 4182429..b051fbb 100644 --- a/recharge/index.html +++ b/recharge/index.html @@ -1651,7 +1651,7 @@ window.HyAppAPI.recharge .createOrder({ display_user_id: targetDisplayUserID(), - product_id: productID(product), + product_id: createOrderProductID(product), user_id: currentAccountUserID(), pay_country_id: method.payCountryID || @@ -2143,14 +2143,14 @@ state.context.auth_mode !== 'token' && state.context.account ) { - return state.context.account.display_user_id || ''; + return accountPublicID(state.context.account); } return ''; } function currentAccountDisplayUserID() { return state.context && state.context.account - ? state.context.account.display_user_id || '' + ? accountPublicID(state.context.account) : ''; } @@ -2462,6 +2462,24 @@ ); } + function createOrderProductID(product) { + var rawProductID = productID(product); + if (isLegacyWebPayApp()) return rawProductID; + // 默认 Lalu 走 Go gateway,product_id 必须是 JSON number;非法值转 0,让后端返回参数错误而不是 JSON 解码错误。 + var numericProductID = Number(rawProductID); + return isFinite(numericProductID) ? numericProductID : 0; + } + + function isLegacyWebPayApp() { + var adapter = + state.appConfig && String(state.appConfig.adapter || ''); + // Aslan/Yumi 仍走旧支付网关,保持原来的字符串商品 ID,避免影响老接口的字段兼容。 + return ( + adapter === 'aslan-web-pay' || + adapter === 'yumi-web-pay' + ); + } + function randomCommandSuffix() { if ( window.crypto && @@ -2611,13 +2629,29 @@ function accountMetaText(account) { return [ - account && account.display_user_id, + accountPublicID(account), accountCountryText(account), ] .filter(Boolean) .join(' · '); } + function accountPublicID(account) { + account = account || {}; + // Aslan 的 `account` 是用户输入和外部可识别的短号,`user_id/display_user_id` 是订单入账用的内部长 ID。 + // 页面展示和回跳参数优先使用短号,避免客服搜索短号后又看到不可读的内部 ID。 + return ( + account.account || + account.short_id || + account.shortId || + account.display_user_id || + account.displayUserId || + account.user_id || + account.userId || + '' + ); + } + // 后端账号字段可能返回中文展示名;非中文页面优先按 code/英文字段展示,避免 EN 页面混入中文地区。 function accountCountryText(account) { var code = firstValue(account, [