diff --git a/.gitignore b/.gitignore
index c5464d9..1a26325 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,9 +4,11 @@
# node.js
#
+typedoc
node_modules/
npm-debug.log
yarn-error.log
+yarn.lock
# Xcode
#
diff --git a/index.d.ts b/index.d.ts
index d298873..c62031a 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -1,148 +1,164 @@
+///
+///
/**
- * 支付宝端支付
- * 支付宝回调结果, 详情见 https://docs.open.alipay.com/204/105301
+ * 支付宝支付,基于 React Native 的支付宝插件,支持Android/iOS。
*/
-export interface AliOrderResult {
- alipay_trade_app_pay_response: {
- /**
- * 长度:64,商户网站唯一订单号 70501111111S001111119
- */
- out_trade_no: string;
- /**
- * 长度:64,该交易在支付宝系统中的交易流水号。最长64位。 2014112400001000340011111118
- */
- trade_no: string;
- /**
- * 长度:32,支付宝分配给开发者的应用Id。 2014072300007148
- */
- app_id: string;
- /**
- * 长度:9 ,该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 9.00
- */
- total_amount: number;
- /**
- * 长度:16,收款支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字 20886894
- */
- seller_id: string;
- /**
- * 长度:16,处理结果的描述,信息来自于code返回结果的描述 success
- */
- msg: string;
- /**
- * 长度:16,编码格式 utf-8
- */
- charset: string;
- /**
- * 长度:32,时间 2016-10-11 17:43:36
- */
- timestamp: string;
- /**
- * 长度:16,结果码 具体见公共错误码
- */
- code: string;
- },
- sign: string;
- sign_type: 'RSA2' | 'RSA';
-}
+declare namespace Alipay {
+ /**
+ * 支付宝端支付
+ * 支付宝回调结果, 详情见 https://docs.open.alipay.com/204/105301
+ */
+ export interface OrderResultStr {
+ alipay_trade_app_pay_response: {
+ /**
+ * 长度:64,商户网站唯一订单号 70501111111S001111119
+ */
+ out_trade_no: string;
+ /**
+ * 长度:64,该交易在支付宝系统中的交易流水号。最长64位。 2014112400001000340011111118
+ */
+ trade_no: string;
+ /**
+ * 长度:32,支付宝分配给开发者的应用Id。 2014072300007148
+ */
+ app_id: string;
+ /**
+ * 长度:9 ,该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 9.00
+ */
+ total_amount: number;
+ /**
+ * 长度:16,收款支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字 20886894
+ */
+ seller_id: string;
+ /**
+ * 长度:16,处理结果的描述,信息来自于code返回结果的描述 success
+ */
+ msg: string;
+ /**
+ * 长度:16,编码格式 utf-8
+ */
+ charset: string;
+ /**
+ * 长度:32,时间 2016-10-11 17:43:36
+ */
+ timestamp: string;
+ /**
+ * 长度:16,结果码 具体见公共错误码
+ */
+ code: string;
+ },
+ sign: string;
+ sign_type: 'RSA2' | 'RSA';
+ }
-interface OrderResult {
/**
- * @callback AliOrderResult
- * 支付返回结果:
- * 支付宝支付返回结果文档地址:https://opendocs.alipay.com/open/204/105301#%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C%E7%A4%BA%E4%BE%8B%EF%BC%88iOS%7CAndroid%EF%BC%89
- * '{"alipay_trade_app_pay_response":{"code":"10000","msg":"Success","app_id":"2021001172656340","auth_app_id":"2021001172656340","charset":"UTF-8","timestamp":"2020-07-08 21:30:14","out_trade_no":"123123213123214","total_amount":"0.01","trade_no":"2020070822001414841426413774","seller_id":"2088421915791034"},"sign":"LY7wCsNLp+QnDqCq6VelY/RvyK7ZGY8wsXoKvS+Or7JjONLDUx5P6lDgqRKkpkng7br3y6GZzfGKaZ88Tf4eMnBMKyqU+huR2Um47xUxP383njvHlxuQZsSTLQZRswy4wmb/fPkFfvyH6Or6+oj0eboePOTu63bNr+h03w0QnP4znuHpfRuoVgWpsYh/6B1DL+4xfWRKJ21zm1SV9Feo9RWqnyTaGZyFVi6IKge0dUCYs9hXju95fOUVUOx5YflOFtSEnZafY9Ls4FCRQE1ANkjaKiKIE0+c4c4sEVEf/9Dwh88N+aSQOoLT+AV4RpjMoA8hF2k+vv2OKNeqr6SYGQ==","sign_type":"RSA2"}'
+ * 支付订单返回结果
+ * @returns 成功返回
+ *
+ * ```json
+ * {
+ * result: '{"alipay_trade_app_pay_response":{"code":"10000","msg":"Success","app_id":"2021001172656340","auth_app_id":"2021001172656340","charset":"UTF-8","timestamp":"2020-07-08 21:30:14","out_trade_no":"123123213123214","total_amount":"0.01","trade_no":"2020070822001414841426413774","seller_id":"2088421915791034"},"sign":"LY7wCsNLp+QnDqCq6VelY/RvyK7ZGY8wsXoKvS+Or7JjONLDUx5P6lDgqRKkpkng7br3y6GZzfGKaZ88Tf4eMnBMKyqU+huR2Um47xUxP383njvHlxuQZsSTLQZRswy4wmb/fPkFfvyH6Or6+oj0eboePOTu63bNr+h03w0QnP4znuHpfRuoVgWpsYh/6B1DL+4xfWRKJ21zm1SV9Feo9RWqnyTaGZyFVi6IKge0dUCYs9hXju95fOUVUOx5YflOFtSEnZafY9Ls4FCRQE1ANkjaKiKIE0+c4c4sEVEf/9Dwh88N+aSQOoLT+AV4RpjMoA8hF2k+vv2OKNeqr6SYGQ==","sign_type":"RSA2"}',
+ * resultStatus: '9000',
+ * memo: ''
+ * }
+ * ```
+ *
+ * @returns 错误返回
+ *
+ * ```json
+ * {
+ * memo: "Error Domain=系统繁忙,请稍后再试 Code=1000 \"(null)\"",
+ * result: "",
+ * resultStatus: "4000",
+ * }
+ * ```
*/
- result?: string;
+ export interface OrderResult {
+ /**
+ * 支付返回结果:
+ * 支付宝支付返回结果,[支付宝文档地址](https://opendocs.alipay.com/open/204/105301#%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C%E7%A4%BA%E4%BE%8B%EF%BC%88iOS%7CAndroid%EF%BC%89)
+ * 支付返回结果字符串通过 `JSON.parse` 进行转换为对象 {@link OrderResultStr}
+ * @typeParam OrderResultStr
+ * @example
+ *
+ * ```json
+ * '{"alipay_trade_app_pay_response":{"code":"10000","msg":"Success","app_id":"2021001172656340","auth_app_id":"2021001172656340","charset":"UTF-8","timestamp":"2020-07-08 21:30:14","out_trade_no":"123123213123214","total_amount":"0.01","trade_no":"2020070822001414841426413774","seller_id":"2088421915791034"},"sign":"LY7wCsNLp+QnDqCq6VelY/RvyK7ZGY8wsXoKvS+Or7JjONLDUx5P6lDgqRKkpkng7br3y6GZzfGKaZ88Tf4eMnBMKyqU+huR2Um47xUxP383njvHlxuQZsSTLQZRswy4wmb/fPkFfvyH6Or6+oj0eboePOTu63bNr+h03w0QnP4znuHpfRuoVgWpsYh/6B1DL+4xfWRKJ21zm1SV9Feo9RWqnyTaGZyFVi6IKge0dUCYs9hXju95fOUVUOx5YflOFtSEnZafY9Ls4FCRQE1ANkjaKiKIE0+c4c4sEVEf/9Dwh88N+aSQOoLT+AV4RpjMoA8hF2k+vv2OKNeqr6SYGQ==","sign_type":"RSA2"}'
+ * ```
+ *
+ */
+ result?: string;
+ /**
+ * 错误状态码
+ * - 9000 订单支付成功
+ * - 8000 正在处理中,支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态
+ * - 4000 订单支付失败
+ * - 5000 重复请求
+ * - 6001 用户中途取消
+ * - 6002 网络连接出错
+ * - 6004 支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态
+ * - 其它 其它支付错误
+ */
+ resultStatus?: '9000' | '8000' | '4000' | '5000' | '6001' | '6002' | '6004' | string;
+ /**
+ * 优惠券备注信息
+ * "Error Domain=系统繁忙,请稍后再试 Code=1000 "(null)""
+ */
+ memo: string;
+ }
/**
- * 9000 订单支付成功
- * 8000 正在处理中,支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态
- * 4000 订单支付失败
- * 5000 重复请求
- * 6001 用户中途取消
- * 6002 网络连接出错
- * 6004 支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态
- * 其它 其它支付错误
+ * 快速登录授权,[支付宝文档](https://opendocs.alipay.com/open/218/105327#%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C%E8%AF%B4%E6%98%8E)
+ *
*/
- resultStatus?: '9000' | '8000' | '4000' | '5000' | '6001' | '6002' | '6004' | string;
- /**
- * "Error Domain=系统繁忙,请稍后再试 Code=1000 "(null)""
- * 优惠券备注信息
- */
- memo: string;
-}
-
-// 错误返回
-// {
-// memo: "Error Domain=系统繁忙,请稍后再试 Code=1000 \"(null)\"",
-// result: "",
-// resultStatus: "4000",
-// }
-// 成功返回
-// {
-// result: '{"alipay_trade_app_pay_response":{"code":"10000","msg":"Success","app_id":"2021001172656340","auth_app_id":"2021001172656340","charset":"UTF-8","timestamp":"2020-07-08 21:30:14","out_trade_no":"123123213123214","total_amount":"0.01","trade_no":"2020070822001414841426413774","seller_id":"2088421915791034"},"sign":"LY7wCsNLp+QnDqCq6VelY/RvyK7ZGY8wsXoKvS+Or7JjONLDUx5P6lDgqRKkpkng7br3y6GZzfGKaZ88Tf4eMnBMKyqU+huR2Um47xUxP383njvHlxuQZsSTLQZRswy4wmb/fPkFfvyH6Or6+oj0eboePOTu63bNr+h03w0QnP4znuHpfRuoVgWpsYh/6B1DL+4xfWRKJ21zm1SV9Feo9RWqnyTaGZyFVi6IKge0dUCYs9hXju95fOUVUOx5YflOFtSEnZafY9Ls4FCRQE1ANkjaKiKIE0+c4c4sEVEf/9Dwh88N+aSQOoLT+AV4RpjMoA8hF2k+vv2OKNeqr6SYGQ==","sign_type":"RSA2"}',
-// resultStatus: '9000',
-// memo: ''
-// }
-
-/**
- * 快速登录授权
- * https://opendocs.alipay.com/open/218/105327#%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C%E8%AF%B4%E6%98%8E
- */
-interface AuthResult {
- /**
- * 长度:144,本次操作返回的结果数据。
- * - `result_code` 具体状态码值请参见“result_code状态代码”。仅当resultStatus为“9000”且result_code为“200”时,代表授权成功。
- * - `auth_code` 表示授权成功的授码。
- * @example `success=true&auth_code=9c11732de44f4f1790b63978b6fbOX53&result_code=200&alipay_open_id=20881001757376426161095132517425&user_id=2088003646494707`
- */
- result: string;
- /**
- * 长度:5,本次操作的状态返回值,标识本次调用的结果,参见“resultStatus状态代码”。
- * - 9000 请求处理成功
- * - 4000 系统异常
- * - 6001 用户中途取消
- * - 6002 网络连接出错
- */
- resultStatus: '9000' | '4000' | '6001' | '6002';
- /**
- * 长度:无,保留参数,一般无内容。 处理成功
- */
- memo: string;
-}
-
-
-export const Alipay: {
+ export interface AuthResult {
+ /**
+ * 长度:144,本次操作返回的结果数据。
+ * - `result_code` 具体状态码值请参见“result_code状态代码”。仅当resultStatus为“9000”且result_code为“200”时,代表授权成功。
+ * - `auth_code` 表示授权成功的授码。
+ * @example `success=true&auth_code=9c11732de44f4f1790b63978b6fbOX53&result_code=200&alipay_open_id=20881001757376426161095132517425&user_id=2088003646494707`
+ */
+ result: string;
+ /**
+ * 长度:5,本次操作的状态返回值,标识本次调用的结果,参见“resultStatus状态代码”。
+ * - 9000 请求处理成功
+ * - 4000 系统异常
+ * - 6001 用户中途取消
+ * - 6002 网络连接出错
+ */
+ resultStatus: '9000' | '4000' | '6001' | '6002';
+ /**
+ * 长度:无,保留参数,一般无内容。 处理成功
+ */
+ memo: string;
+ }
/**
* 支付
* @param payInfo 支付详情
* @returns result 支付宝回调结果 https://docs.open.alipay.com/204/105301
*/
- alipay: (payInfo: string) => Promise;
+ export function alipay(payInfo: string): Promise;
/**
* 快速登录授权
* @param authInfoStr 验证详情
* @returns result 支付宝回调结果 https://opendocs.alipay.com/open/218/105327
*/
- authInfo: (authInfoStr: string) => Promise;
+ export function authInfo(authInfoStr: string): Promise;
/**
* 获取当前 SDK 版本号
* @return 当前 SDK 版本字符串
*/
- getVersion: () => Promise;
+ export function getVersion(): Promise;
/**
* 设置支付宝跳转Scheme,仅 iOS
* @param scheme scheme = `ap` + `APPID`
* @platform ios
*/
- setAlipayScheme: (scheme: string) => void;
+ export function setAlipayScheme(scheme: string): void;
/**
* 设置支付宝沙箱环境,仅 Android
* @param isSandBox
* @platform android
*/
- setAlipaySandbox: (isSandbox: boolean) => void;
-};
-
-export default Alipay;
\ No newline at end of file
+ export function setAlipaySandbox(isSandbox: boolean): void;
+}
diff --git a/package.json b/package.json
index ec26090..c72c139 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,7 @@
"version": "2.0.7",
"description": "基于 React Native 的支付宝插件,支持Android/iOS。",
"main": "index.js",
+ "typings": "index.d.ts",
"files": [
"README.md",
"android",
@@ -11,7 +12,7 @@
"ios"
],
"scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
+ "build": "typedoc"
},
"repository": {
"type": "git",
@@ -40,6 +41,8 @@
},
"devDependencies": {
"react": "^16.9.0",
- "react-native": "^0.61.5"
+ "react-native": "^0.61.5",
+ "typedoc": "^0.17.8",
+ "typescript": "^3.9.7"
}
}
diff --git a/typedoc.json b/typedoc.json
new file mode 100644
index 0000000..37e6e86
--- /dev/null
+++ b/typedoc.json
@@ -0,0 +1,12 @@
+{
+ "inputFiles": "./index.d.ts",
+ "out": "typedoc",
+ "entryPoint": "Alipay",
+ "name": "React Native Alipay",
+ "mode": "file",
+ "includeDeclarations": true,
+ "excludeExternals": true,
+ "ignoreCompilerErrors": true,
+ "excludePrivate": true,
+ "excludeProtected": true
+}
\ No newline at end of file