丢弃报错的银联插件

This commit is contained in:
zhouyanli
2026-06-08 17:16:46 +08:00
parent d26bd4e86b
commit ebdfa8d95e
23 changed files with 228 additions and 706 deletions

View File

@@ -1,33 +0,0 @@
{
"id": "unionpay-full",
"displayName": "银联商务支付(正式版)",
"version": "1.0.0",
"description": "银联商务UMS支付UTS插件支持云闪付/微信/支付宝正式版SDK",
"keywords": [
"银联商务",
"UMS",
"云闪付",
"支付"
],
"engines": {
"HBuilderX": "^3.6.8",
"uni-app": "^4.36"
},
"uni_modules": {
"dependencies": [],
"platforms": {
"client": {
"uni-app": {
"app": {
"android": {
"minVersion": "21"
},
"ios": {
"minVersion": "11"
}
}
}
}
}
}
}

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unionpay.full">
<!-- 基础网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- UMS SDK 需要的 meta-data -->
<application>
<meta-data
android:name="PPPaySDK"
android:value="true" />
</application>
</manifest>

View File

@@ -1,3 +0,0 @@
{
"minSdkVersion": "21"
}

View File

@@ -1,90 +0,0 @@
import { startPayOptions } from '../../interface.uts'
// UMS SDK 核心类包名
const UMS_PKG = 'com.chinaums.pppay.unify'
/**
* 检查是否安装云闪付App
* 【注】UMS SDK 未提供安装检测接口,默认返回 true
*/
export function checkWalletInstalled(): boolean {
return true
}
/**
* 发起支付(云闪付)
* 调用 UMS SDK 的 UnifyPayPlugin 进行支付
*/
export function startPay(options: startPayOptions): void {
try {
const activity = UTSAndroid.getUniActivity()
if (activity == null) {
options.callback({ code: -1, msg: '获取当前 Activity 失败' })
return
}
// 动态导入 UMS SDK 类
const UnifyPayPlugin = plus.android.importClass(UMS_PKG + '.UnifyPayPlugin')
const UnifyPayListener = plus.android.importClass(UMS_PKG + '.UnifyPayListener')
// payData后端返回的 appPayRequest 对应的 JSON 字符串
// 如果后端返回的 tn 字段已经是 JSON 格式,直接传入即可
const payData = options.tn
// 创建支付结果监听器
const listener = new UnifyPayListener({
onResult: (resultCode: string, resultInfo: string) => {
console.log('UMS 支付结果:', resultCode, resultInfo)
let code = -1
let msg = resultInfo || '支付失败'
if (resultCode === '0000' || resultCode === '0') {
code = 0
msg = '支付成功'
} else if (resultCode === '-2' || resultCode === '2000' || resultCode === '2001') {
code = -2
msg = '支付已取消'
} else if (resultCode === '1') {
code = 1
msg = '支付处理中'
}
options.callback({
code: code,
msg: msg,
data: { resultCode: resultCode, resultInfo: resultInfo }
})
}
})
// 根据支付渠道调用不同方法
const channel = options.channel || 'unionpay'
if (channel === 'unionpay') {
// 云闪付
UnifyPayPlugin.cloudPay(activity, 'uppayfull', payData, listener)
} else if (channel === 'alipay') {
// 支付宝间联支付
// 如果 aliSafePay 方法不存在,请尝试改用 pay 方法:
// UnifyPayPlugin.pay(activity, 'ALIPAY', payData, listener)
UnifyPayPlugin.aliSafePay(activity, 'uppayfull', payData, listener)
} else if (channel === 'weixin') {
// 微信支付需申请微信SDK后才能使用
// UnifyPayPlugin.pay(activity, 'WEIXIN', payData, listener)
options.callback({ code: -1, msg: '微信支付暂不支持请先申请微信SDK' })
} else {
options.callback({ code: -1, msg: '未知支付渠道: ' + channel })
}
} catch (e) {
console.error('UMS 支付调用异常:', e)
options.callback({ code: -1, msg: '支付调用异常: ' + (e.message || String(e)) })
}
}
/**
* 获取直通银行 App 列表
* 【注】UMS SDK 暂未实现此功能
*/
export function getDirectApps(callback: Function): void {
callback({ code: 0, msg: 'UMS SDK 暂不支持此功能', data: [] })
}

View File

@@ -1,59 +0,0 @@
//
// UMSPluginSettings.h
// UMSPosPay
//
// Created by chinaums on 15/10/19.
// Copyright © 2015年 ChinaUMS. All rights reserved.
//
// sdk_version = 3.1.8
#import <Foundation/Foundation.h>
//1 是走apple 0是不走
//#define SHOULD_CONTAIN_APPLE_PAY_CODES 0
/*!
@enum
@abstract 交易环境
@constant UMSP_PROD 生产环境
@constant UMSP_TEST 测试环境
*/
typedef NS_ENUM(NSInteger, UMSPluginEnvironment) {
UMSP_PROD,
UMSP_TEST
};
/**
* 进入插件的方式
*/
typedef NS_ENUM(NSInteger, UMSPluginEnterType) {
///默认方式
UMSPluginEnterType_Default,
///C扫B方式
UMSPluginEnterType_ScanCode
};
@interface UMSPPPayPluginSettings : NSObject
+ (UMSPPPayPluginSettings *)sharedInstance;
/*!
@property
@abstract 设置交易环境默认UMSP_PROD
*/
@property (nonatomic, assign) UMSPluginEnvironment umspEnviroment;
/**
* 进入插件方式默认UMSPluginEnterType_Default
*/
@property (nonatomic, assign) UMSPluginEnterType umspEnterType;
/*!
@property
@abstract 设置是否需要启动页默认YES
*/
@property (nonatomic, assign) BOOL umspSplash;
@end

View File

@@ -1,118 +0,0 @@
//
// UMSPPPayUnifyPayPlugin.h
// UMSPosPay
//
// Created by SunXP on 17/4/25.
// Copyright © 2017年 ChinaUMS. All rights reserved.
//
// sdk_version = 3.1.8
#import <Foundation/Foundation.h>
#import "WXApi.h"
/**
* 支付渠道
*
* @param CHANNEL_WEIXIN 微信支付
* @param CHANNEL_ALIPAY 支付宝支付
* @param CHANNEL_ALIMINIPAY 支付宝小程序支付
* @param CHANNEL_WEIXINMINI 微信小程序支付
*/
FOUNDATION_EXTERN NSString *const CHANNEL_WEIXIN;
FOUNDATION_EXTERN NSString *const CHANNEL_ALIPAY;
FOUNDATION_EXTERN NSString *const CHANNEL_ALIMINIPAY;
FOUNDATION_EXTERN NSString *const CHANNEL_WEIXINMINI;
typedef void(^TransactionResultBlock)(NSString *resultCode, NSString *resultInfo);
@interface UMSPPPayUnifyPayPlugin : NSObject
/**
* 商户下单支付接口
*
* @param payChannel 支付渠道
* @param payData 订单信息:appPayRequest对应的json字符串
* @param callbackBlock 交易结果回调Block
*/
+ (void)payWithPayChannel:(NSString *)payChannel payData:(NSString *)payData callbackBlock:(TransactionResultBlock)callbackBlock;
/**
云闪付下单接口
@param schemes url schemes
@param payData 订单信息:appPayRequest对应的json字符串
@param viewController 启动支付控件的viewController
@param callbackBlock 交易结果回调Block
*/
+ (void)cloudPayWithURLSchemes:(NSString *)schemes
payData:(NSString *)payData
viewController:(UIViewController *)viewController
callbackBlock:(TransactionResultBlock)callbackBlock;
/**
支付宝的间联原生app支付
@param schemes url schemes
@param payData 订单信息:appPayRequest对应的json字符串
@param callbackBlock 交易结果回调Block
*/
+ (void)aliSafePayWithURLSchemes:(NSString *)schemes
payData:(NSString *)payData
callbackBlock:(TransactionResultBlock)callbackBlock;
/**
* 微信支付配置参数
*
* @param appId 商户注册的微信支付appId
* @param universalLink 微信开发者Universal Link
* @return YES成功 NO失败
* 需在AppDelegate的didFinishLaunchingWithOptions方法中调用
*/
+ (BOOL)registerApp:(NSString *)appId universalLink:(NSString *)universalLink;
/**
* 微信支付配置参数
*
* @param url App处理的openUrl
* @param otherDelegate WXApiDelegate对象用来接收微信触发的非本功能的消息。
* @return YES成功 NO失败
* 需在AppDelegate中的方法中调用
* iOS9.0之前版本:- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
* - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
* iOS9.0之后版本:- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
*/
+ (BOOL)handleOpenURL:(NSURL *)url otherDelegate:(id<WXApiDelegate>)otherDelegate;
/*! @brief 处理微信通过Universal Link启动App时传递的数据
*
* 需要在 application:continueUserActivity:restorationHandler:中调用。
* @param userActivity 微信启动第三方应用时系统API传递过来的userActivity
* @param otherDelegate WXApiDelegate对象用来接收微信触发的非本功能的消息。
* 需在AppDelegate中的方法中调用
需要在 application:continueUserActivity:restorationHandler:中调用。
* @return 成功返回YES失败返回NO。
*/
+(BOOL)handleOpenUniversalLink:(NSUserActivity *)userActivity otherDelegate:(id<WXApiDelegate>)otherDelegate API_AVAILABLE(ios(8.0));
/**
云闪付处理
@param url App处理的openUrl
@return YES成功 NO失败
*/
+ (BOOL)cloudPayHandleOpenURL:(NSURL *)url;
/**
支付宝小程序处理
@param url App处理的openUrl
*/
+ (void)aliMiniPayHandleOpenURL:(NSURL *)url;
/**
支付宝间联原生app支付处理
@param url App处理的openUrl
*/
+ (void)aliSafePayHandleOpenURL:(NSURL *)url;
@end

View File

@@ -1,17 +0,0 @@
//
// libUMSVersionsInfo.h
// UMSPosPay
//
// Created by diudiu on 16/6/28.
// Copyright © 2016年 ChinaUMS. All rights reserved.
//
// sdk_version = 3.1.8
#import <Foundation/Foundation.h>
@interface UMSPPPayVersionsInfo : NSObject
+ (NSMutableDictionary *)getVersionsInfoForPosPayPlugin;
@end

View File

@@ -1,13 +0,0 @@
{
"deploymentTarget": "11",
"validArchitectures": [
"arm64"
],
"frameworks": [
"SystemConfiguration.framework",
"libz.tbd",
"LocalAuthentication.framework",
"libc++.tbd",
"CFNetwork.framework"
]
}

View File

@@ -1,96 +0,0 @@
import { startPayOptions } from '../../interface.uts'
/**
* 检查是否安装云闪付App
* 通过 canOpenURL 检测云闪付 scheme
*/
export function checkWalletInstalled(): boolean {
try {
const UIApplication = plus.ios.importClass('UIApplication')
const app = UIApplication.sharedApplication()
const url = plus.ios.importClass('NSURL')!.URLWithString('uppaywallet://')
return app.canOpenURL(url)
} catch (e) {
console.log('检测云闪付安装状态失败:', e)
return true
}
}
/**
* 发起支付(云闪付)
* 调用 UMS SDK 的 UMSPPPayUnifyPayPlugin 进行支付
*/
export function startPay(options: startPayOptions): void {
try {
const UMSPPPayUnifyPayPlugin = plus.ios.importClass('UMSPPPayUnifyPayPlugin')
if (UMSPPPayUnifyPayPlugin == null) {
options.callback({ code: -1, msg: 'UMS 支付插件加载失败' })
return
}
const viewController = UTSiOS.getCurrentViewController()
if (viewController == null) {
options.callback({ code: -1, msg: '获取当前视图控制器失败' })
return
}
// payData后端返回的 appPayRequest 对应的 JSON 字符串
const payData = options.tn
const channel = options.channel || 'unionpay'
// 统一结果处理 block
const resultBlock = (resultCode: string, resultInfo: string) => {
console.log('UMS iOS 支付结果:', resultCode, resultInfo)
let code = -1
let msg = resultInfo || '支付失败'
if (resultCode === '0000' || resultCode === '0') {
code = 0
msg = '支付成功'
} else if (resultCode === '-2' || resultCode === '2000' || resultCode === '2001') {
code = -2
msg = '支付已取消'
} else if (resultCode === '1') {
code = 1
msg = '支付处理中'
}
options.callback({
code: code,
msg: msg,
data: { resultCode: resultCode, resultInfo: resultInfo }
})
}
// 根据支付渠道调用不同方法
if (channel === 'unionpay') {
// 云闪付
UMSPPPayUnifyPayPlugin.cloudPayWithURLSchemes_payData_viewController_callbackBlock(
'uppayfull', payData, viewController, resultBlock
)
} else if (channel === 'alipay') {
// 支付宝间联支付
UMSPPPayUnifyPayPlugin.aliSafePayWithURLSchemes_payData_callbackBlock(
'uppayfull', payData, resultBlock
)
} else if (channel === 'weixin') {
// 微信支付需申请微信SDK后才能使用
// UMSPPPayUnifyPayPlugin.payWithPayChannel_payData_callbackBlock('CHANNEL_WEIXIN', payData, resultBlock)
options.callback({ code: -1, msg: '微信支付暂不支持请先申请微信SDK' })
} else {
options.callback({ code: -1, msg: '未知支付渠道: ' + channel })
}
} catch (e) {
console.error('UMS iOS 支付调用异常:', e)
options.callback({ code: -1, msg: '支付调用异常: ' + (e.message || String(e)) })
}
}
/**
* 获取直通银行 App 列表
* 【注】UMS SDK 暂未实现此功能
*/
export function getDirectApps(callback: Function): void {
callback({ code: 0, msg: 'UMS SDK 暂不支持此功能', data: [] })
}

View File

@@ -1,53 +0,0 @@
/**
* 银联商务 UMS 支付 UTS 插件接口定义
* 适配正式版 UMS SDKAndroid: qmf-ppplugin / iOS: libUMSPosPayOnly
*/
type modeType = '00' | '01'
export type PayChannel = 'unionpay' | 'alipay' | 'weixin'
export type startPayOptions = {
/**
* 支付渠道,默认 unionpay
* unionpay: 云闪付
* alipay: 支付宝
* weixin: 微信需申请微信SDK后使用
*/
channel?: PayChannel,
/**
* 支付环境00正式环境01测试环境
* 【注】UMS SDK 内部根据 payData 中的环境字段判断,此参数保留兼容
*/
mode: modeType,
/**
* 服务端返回的支付参数
* UMS SDKappPayRequest 对应的 JSON 字符串(由后端返回)
*/
tn: string,
/**
* 【可选】手机pay支付类别保留兼容字段
*/
seType?: string,
/**
* 支付结果回调
* result.code: 0成功 / -1失败 / -2取消
* result.msg: 提示信息
*/
callback: (result: any) => void
}
/**
* 检查是否安装云闪付App
* 【注】UMS SDK 未提供安装检测接口,默认返回 true
*/
export type checkWalletInstalled = () => boolean
/**
* 发起支付
*/
export type startPay = (options: startPayOptions) => void
/**
* 检查已安装的支持直通模式的银行app列表
* 【注】UMS SDK 暂未实现此功能
*/
export type getDirectApps = (callback: Function) => void