zmp-sdk 2.18.6 → 2.19.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.min.js +218 -4
- package/dist/index.es.js +219 -5
- package/dist/index.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/types/src/apis/index.d.ts +2 -0
- package/dist/types/src/apis/payment.d.ts +30 -0
- package/dist/types/src/constants.d.ts +6 -0
- package/dist/types/src/index.d.ts +3 -0
- package/dist/types/src/services/mock-mp-service.d.ts +2 -0
- package/dist/types/src/services/payment.d.ts +27 -0
- package/dist/types/src/types/callbackData.d.ts +20 -0
- package/dist/types/src/types/inputData.d.ts +17 -0
- package/dist/types/src/types/interface.d.ts +5 -0
- package/package.json +1 -1
package/dist/browser.min.js
CHANGED
|
@@ -2254,6 +2254,7 @@
|
|
|
2254
2254
|
GET_ACCESS_TOKEN: 'https://h5.zalo.me/openapi/access_token',
|
|
2255
2255
|
GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token',
|
|
2256
2256
|
GET_LIST_USER_INFO: 'https://graph.zalo.me/v2.0/me/friends/list',
|
|
2257
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
2257
2258
|
};
|
|
2258
2259
|
const STORAGE_LIMIT = 5 * MB;
|
|
2259
2260
|
const NETWORK_TYPE = (isAndroid) => ({
|
|
@@ -2712,7 +2713,12 @@
|
|
|
2712
2713
|
HIDE_HOME: 0
|
|
2713
2714
|
};
|
|
2714
2715
|
const SHOW_ACTION_BAR = 5;
|
|
2715
|
-
const HIDE_ACTION_BAR = 6;
|
|
2716
|
+
const HIDE_ACTION_BAR = 6;
|
|
2717
|
+
const PAYMENT_APIS = {
|
|
2718
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
2719
|
+
GET_TRANSACTION: 'https://payment-mini.zalo.me/api/transaction',
|
|
2720
|
+
};
|
|
2721
|
+
const PAYMENT_H5_URL = 'https://payment-mini.zalo.me';
|
|
2716
2722
|
|
|
2717
2723
|
class CommonError {
|
|
2718
2724
|
constructor(code, msg, api) {
|
|
@@ -2849,7 +2855,7 @@
|
|
|
2849
2855
|
missingParam: (params) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Missing required argument: ${params}`),
|
|
2850
2856
|
wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`),
|
|
2851
2857
|
cannotGetShareInfo: () => new CommonError(RESPONSE_CODE.INTERNAL_SERVER_ERROR, `Can not get app info to share`),
|
|
2852
|
-
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`)
|
|
2858
|
+
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`),
|
|
2853
2859
|
}
|
|
2854
2860
|
};
|
|
2855
2861
|
|
|
@@ -3222,7 +3228,7 @@
|
|
|
3222
3228
|
}
|
|
3223
3229
|
if (_.isNumber(option === null || option === void 0 ? void 0 : option.maxLength)) {
|
|
3224
3230
|
return {
|
|
3225
|
-
error:
|
|
3231
|
+
error: _.isString(data) && data.length > (option === null || option === void 0 ? void 0 : option.maxLength),
|
|
3226
3232
|
errorMessage: `data length must <= ${option === null || option === void 0 ? void 0 : option.maxLength}`
|
|
3227
3233
|
};
|
|
3228
3234
|
}
|
|
@@ -4062,7 +4068,7 @@
|
|
|
4062
4068
|
}
|
|
4063
4069
|
_ZJSBridgeProvider_bridge = new WeakMap();
|
|
4064
4070
|
|
|
4065
|
-
var version = "2.
|
|
4071
|
+
var version = "2.19.0-rc.2";
|
|
4066
4072
|
|
|
4067
4073
|
class Basics {
|
|
4068
4074
|
/**
|
|
@@ -6710,6 +6716,22 @@
|
|
|
6710
6716
|
urls: []
|
|
6711
6717
|
});
|
|
6712
6718
|
}
|
|
6719
|
+
createOrder(object) {
|
|
6720
|
+
const result = { orderId: "" };
|
|
6721
|
+
return Promise.resolve(result);
|
|
6722
|
+
}
|
|
6723
|
+
;
|
|
6724
|
+
checkTransaction(object) {
|
|
6725
|
+
const result = {
|
|
6726
|
+
msg: '',
|
|
6727
|
+
appId: '',
|
|
6728
|
+
orderId: '',
|
|
6729
|
+
resultCode: 0,
|
|
6730
|
+
transTime: 0,
|
|
6731
|
+
createdAt: '',
|
|
6732
|
+
};
|
|
6733
|
+
return Promise.resolve(result);
|
|
6734
|
+
}
|
|
6713
6735
|
}
|
|
6714
6736
|
_MockSDKService_appId = new WeakMap(), _MockSDKService_appConfig = new WeakMap(), _MockSDKService_zOAuth = new WeakMap(), _MockSDKService_accessToken = new WeakMap(), _MockSDKService_cache = new WeakMap(), _MockSDKService_loggedId = new WeakMap();
|
|
6715
6737
|
|
|
@@ -6824,6 +6846,196 @@
|
|
|
6824
6846
|
return descriptor;
|
|
6825
6847
|
};
|
|
6826
6848
|
|
|
6849
|
+
var _PaymentService_appId;
|
|
6850
|
+
class PaymentService {
|
|
6851
|
+
constructor() {
|
|
6852
|
+
_PaymentService_appId.set(this, APP_ID);
|
|
6853
|
+
}
|
|
6854
|
+
static getInstance() {
|
|
6855
|
+
if (!PaymentService.instance) {
|
|
6856
|
+
PaymentService.instance = new PaymentService();
|
|
6857
|
+
}
|
|
6858
|
+
return PaymentService.instance;
|
|
6859
|
+
}
|
|
6860
|
+
/**
|
|
6861
|
+
* Tạo đơn hàng
|
|
6862
|
+
*
|
|
6863
|
+
* @async
|
|
6864
|
+
* @function createOrder
|
|
6865
|
+
* @category PaymentService
|
|
6866
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
6867
|
+
*/
|
|
6868
|
+
createOrder(sdk, object) {
|
|
6869
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6870
|
+
const miniAppId = __classPrivateFieldGet(this, _PaymentService_appId, "f");
|
|
6871
|
+
const inputData = new URLSearchParams();
|
|
6872
|
+
inputData.append('amount', object.amount.toString());
|
|
6873
|
+
inputData.append('item', encodeURIComponent(JSON.stringify(object.item)));
|
|
6874
|
+
inputData.append('appId', miniAppId);
|
|
6875
|
+
if (object.desc) {
|
|
6876
|
+
inputData.append('desc', encodeURIComponent(object.desc));
|
|
6877
|
+
}
|
|
6878
|
+
if (object.extradata) {
|
|
6879
|
+
inputData.append('extradata', encodeURIComponent(JSON.stringify(object.extradata)));
|
|
6880
|
+
}
|
|
6881
|
+
if (object.method) {
|
|
6882
|
+
inputData.append('method', object.method);
|
|
6883
|
+
}
|
|
6884
|
+
const postConfig = {
|
|
6885
|
+
headers: {
|
|
6886
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
6887
|
+
'authorization': `Bearer `
|
|
6888
|
+
}
|
|
6889
|
+
};
|
|
6890
|
+
try {
|
|
6891
|
+
const accessToken = yield sdk.getAccessToken({
|
|
6892
|
+
fail: (error) => {
|
|
6893
|
+
throw apiResponse.error.loginRequired;
|
|
6894
|
+
}
|
|
6895
|
+
});
|
|
6896
|
+
postConfig.headers.authorization = `Bearer ${accessToken}`;
|
|
6897
|
+
const res = yield fetch(PAYMENT_APIS.CREATE_ORDER, Object.assign(Object.assign({ method: 'POST' }, postConfig), { body: inputData }));
|
|
6898
|
+
const resData = yield res.json();
|
|
6899
|
+
if (!resData.data || resData.err !== 0) {
|
|
6900
|
+
throw new Error(resData.msg);
|
|
6901
|
+
}
|
|
6902
|
+
const orderId = resData.data.id;
|
|
6903
|
+
const version = window.APP_VERSION;
|
|
6904
|
+
const env = window.APP_ENV;
|
|
6905
|
+
const params = {
|
|
6906
|
+
miniAppId,
|
|
6907
|
+
accessToken: accessToken || '',
|
|
6908
|
+
orderId,
|
|
6909
|
+
};
|
|
6910
|
+
if (version) {
|
|
6911
|
+
params.version = version;
|
|
6912
|
+
}
|
|
6913
|
+
if (env) {
|
|
6914
|
+
params.env = env;
|
|
6915
|
+
}
|
|
6916
|
+
if (object.method) {
|
|
6917
|
+
params.method = object.method;
|
|
6918
|
+
}
|
|
6919
|
+
const buildURLQuery = QueryString.encode(params);
|
|
6920
|
+
const h5Url = new URL(`?${buildURLQuery}`, PAYMENT_H5_URL).toString();
|
|
6921
|
+
yield sdk.openWebview({
|
|
6922
|
+
url: h5Url,
|
|
6923
|
+
fail: (err) => {
|
|
6924
|
+
throw err;
|
|
6925
|
+
}
|
|
6926
|
+
});
|
|
6927
|
+
return { orderId };
|
|
6928
|
+
}
|
|
6929
|
+
catch (err) {
|
|
6930
|
+
throw err;
|
|
6931
|
+
}
|
|
6932
|
+
});
|
|
6933
|
+
}
|
|
6934
|
+
/**
|
|
6935
|
+
* Lấy thông tin transaction
|
|
6936
|
+
*
|
|
6937
|
+
* @async
|
|
6938
|
+
* @function checkTransaction
|
|
6939
|
+
* @category PaymentService
|
|
6940
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
6941
|
+
*/
|
|
6942
|
+
checkTransaction(sdk, object) {
|
|
6943
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6944
|
+
try {
|
|
6945
|
+
let { data: inputData } = object;
|
|
6946
|
+
let id;
|
|
6947
|
+
if (!inputData) {
|
|
6948
|
+
inputData = sdk.getRouteParams();
|
|
6949
|
+
}
|
|
6950
|
+
if (typeof inputData === 'object') {
|
|
6951
|
+
id = inputData.appTransID || inputData.orderId || inputData.apptransid;
|
|
6952
|
+
}
|
|
6953
|
+
if (typeof inputData === 'string') {
|
|
6954
|
+
const orderId = QueryString.getParameterByName("orderId", inputData);
|
|
6955
|
+
const appTransID = QueryString.getParameterByName("appTransID", inputData) || QueryString.getParameterByName("apptransid", inputData);
|
|
6956
|
+
id = orderId || appTransID;
|
|
6957
|
+
}
|
|
6958
|
+
const url = new URL(PAYMENT_APIS.GET_TRANSACTION);
|
|
6959
|
+
const params = {
|
|
6960
|
+
transId: id || "",
|
|
6961
|
+
appId: __classPrivateFieldGet(this, _PaymentService_appId, "f")
|
|
6962
|
+
};
|
|
6963
|
+
url.search = new URLSearchParams(params).toString();
|
|
6964
|
+
const res = yield fetch(url.toString());
|
|
6965
|
+
const resData = yield res.json();
|
|
6966
|
+
if (!resData.data || resData.err !== 0) {
|
|
6967
|
+
throw new Error(resData.msg);
|
|
6968
|
+
}
|
|
6969
|
+
const data = resData.data || {};
|
|
6970
|
+
const transaction = {
|
|
6971
|
+
msg: data.resultMessage,
|
|
6972
|
+
appId: data.appId,
|
|
6973
|
+
orderId: data.orderId,
|
|
6974
|
+
resultCode: data.resultCode,
|
|
6975
|
+
transTime: data.transTime,
|
|
6976
|
+
createdAt: data.createAt
|
|
6977
|
+
};
|
|
6978
|
+
return transaction;
|
|
6979
|
+
}
|
|
6980
|
+
catch (err) {
|
|
6981
|
+
throw err;
|
|
6982
|
+
}
|
|
6983
|
+
});
|
|
6984
|
+
}
|
|
6985
|
+
}
|
|
6986
|
+
_PaymentService_appId = new WeakMap();
|
|
6987
|
+
|
|
6988
|
+
var _PaymentCreator_instance, _PaymentCreator_sdk;
|
|
6989
|
+
class PaymentCreator {
|
|
6990
|
+
constructor(sdk) {
|
|
6991
|
+
_PaymentCreator_instance.set(this, void 0);
|
|
6992
|
+
_PaymentCreator_sdk.set(this, void 0);
|
|
6993
|
+
__classPrivateFieldSet(this, _PaymentCreator_instance, this.getInstance(), "f");
|
|
6994
|
+
__classPrivateFieldSet(this, _PaymentCreator_sdk, sdk, "f");
|
|
6995
|
+
}
|
|
6996
|
+
/**
|
|
6997
|
+
* Tạo đơn hàng
|
|
6998
|
+
*
|
|
6999
|
+
* @async
|
|
7000
|
+
* @function createOrder
|
|
7001
|
+
* @category Payment
|
|
7002
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
7003
|
+
*/
|
|
7004
|
+
createOrder(object) {
|
|
7005
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").createOrder(__classPrivateFieldGet(this, _PaymentCreator_sdk, "f"), object);
|
|
7006
|
+
}
|
|
7007
|
+
/**
|
|
7008
|
+
* Lấy thông tin transaction
|
|
7009
|
+
*
|
|
7010
|
+
* @async
|
|
7011
|
+
* @function checkTransaction
|
|
7012
|
+
* @category Payment
|
|
7013
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
7014
|
+
*/
|
|
7015
|
+
checkTransaction(object) {
|
|
7016
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").checkTransaction(__classPrivateFieldGet(this, _PaymentCreator_sdk, "f"), object);
|
|
7017
|
+
}
|
|
7018
|
+
}
|
|
7019
|
+
_PaymentCreator_instance = new WeakMap(), _PaymentCreator_sdk = new WeakMap();
|
|
7020
|
+
__decorate([
|
|
7021
|
+
handleError,
|
|
7022
|
+
validate,
|
|
7023
|
+
__param(0, checkType('object', {
|
|
7024
|
+
'amount': checkData(['string', 'number']),
|
|
7025
|
+
'desc': checkData('string'),
|
|
7026
|
+
'method?': checkData('string', { values: ['MOMO', 'ZALOPAY', 'MOMO_SANDBOX', 'ZALOPAY_SANDBOX', 'CC', 'CC_SANDBOX', 'ATM', 'ATM_SANDBOX'] })
|
|
7027
|
+
}))
|
|
7028
|
+
], PaymentCreator.prototype, "createOrder", null);
|
|
7029
|
+
__decorate([
|
|
7030
|
+
handleError,
|
|
7031
|
+
validate
|
|
7032
|
+
], PaymentCreator.prototype, "checkTransaction", null);
|
|
7033
|
+
class ZaloMiniAppPaymentCreator extends PaymentCreator {
|
|
7034
|
+
getInstance() {
|
|
7035
|
+
return PaymentService.getInstance();
|
|
7036
|
+
}
|
|
7037
|
+
}
|
|
7038
|
+
|
|
6827
7039
|
var _SDKCreator_sdkService;
|
|
6828
7040
|
class SDKCreator {
|
|
6829
7041
|
constructor() {
|
|
@@ -6834,6 +7046,7 @@
|
|
|
6834
7046
|
const stringifyEventName = event;
|
|
6835
7047
|
return this.events.addListener(Events[stringifyEventName], fn, context);
|
|
6836
7048
|
};
|
|
7049
|
+
this.payment = new ZaloMiniAppPaymentCreator(this);
|
|
6837
7050
|
}
|
|
6838
7051
|
/**
|
|
6839
7052
|
* Login to call more action.
|
|
@@ -7734,6 +7947,7 @@
|
|
|
7734
7947
|
else {
|
|
7735
7948
|
app = new MockSDKCreator();
|
|
7736
7949
|
}
|
|
7950
|
+
app.payment;
|
|
7737
7951
|
window.ZaloMiniAppSDK = app;
|
|
7738
7952
|
|
|
7739
7953
|
// @ts-ignore
|
package/dist/index.es.js
CHANGED
|
@@ -2251,6 +2251,7 @@ const APIS = {
|
|
|
2251
2251
|
GET_ACCESS_TOKEN: 'https://h5.zalo.me/openapi/access_token',
|
|
2252
2252
|
GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token',
|
|
2253
2253
|
GET_LIST_USER_INFO: 'https://graph.zalo.me/v2.0/me/friends/list',
|
|
2254
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
2254
2255
|
};
|
|
2255
2256
|
const STORAGE_LIMIT = 5 * MB;
|
|
2256
2257
|
const NETWORK_TYPE = (isAndroid) => ({
|
|
@@ -2709,7 +2710,12 @@ const ACTION_LEFT_BUTTON_TYPE = {
|
|
|
2709
2710
|
HIDE_HOME: 0
|
|
2710
2711
|
};
|
|
2711
2712
|
const SHOW_ACTION_BAR = 5;
|
|
2712
|
-
const HIDE_ACTION_BAR = 6;
|
|
2713
|
+
const HIDE_ACTION_BAR = 6;
|
|
2714
|
+
const PAYMENT_APIS = {
|
|
2715
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
2716
|
+
GET_TRANSACTION: 'https://payment-mini.zalo.me/api/transaction',
|
|
2717
|
+
};
|
|
2718
|
+
const PAYMENT_H5_URL = 'https://payment-mini.zalo.me';
|
|
2713
2719
|
|
|
2714
2720
|
class CommonError {
|
|
2715
2721
|
constructor(code, msg, api) {
|
|
@@ -2846,7 +2852,7 @@ const apiResponse = {
|
|
|
2846
2852
|
missingParam: (params) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Missing required argument: ${params}`),
|
|
2847
2853
|
wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`),
|
|
2848
2854
|
cannotGetShareInfo: () => new CommonError(RESPONSE_CODE.INTERNAL_SERVER_ERROR, `Can not get app info to share`),
|
|
2849
|
-
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`)
|
|
2855
|
+
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`),
|
|
2850
2856
|
}
|
|
2851
2857
|
};
|
|
2852
2858
|
|
|
@@ -3219,7 +3225,7 @@ const checkData = (types, option) => (data) => {
|
|
|
3219
3225
|
}
|
|
3220
3226
|
if (_.isNumber(option === null || option === void 0 ? void 0 : option.maxLength)) {
|
|
3221
3227
|
return {
|
|
3222
|
-
error:
|
|
3228
|
+
error: _.isString(data) && data.length > (option === null || option === void 0 ? void 0 : option.maxLength),
|
|
3223
3229
|
errorMessage: `data length must <= ${option === null || option === void 0 ? void 0 : option.maxLength}`
|
|
3224
3230
|
};
|
|
3225
3231
|
}
|
|
@@ -4059,7 +4065,7 @@ class ZJSBridgeProvider {
|
|
|
4059
4065
|
}
|
|
4060
4066
|
_ZJSBridgeProvider_bridge = new WeakMap();
|
|
4061
4067
|
|
|
4062
|
-
var version$1 = "2.
|
|
4068
|
+
var version$1 = "2.19.0-rc.2";
|
|
4063
4069
|
|
|
4064
4070
|
class Basics {
|
|
4065
4071
|
/**
|
|
@@ -6707,6 +6713,22 @@ class MockSDKService {
|
|
|
6707
6713
|
urls: []
|
|
6708
6714
|
});
|
|
6709
6715
|
}
|
|
6716
|
+
createOrder(object) {
|
|
6717
|
+
const result = { orderId: "" };
|
|
6718
|
+
return Promise.resolve(result);
|
|
6719
|
+
}
|
|
6720
|
+
;
|
|
6721
|
+
checkTransaction(object) {
|
|
6722
|
+
const result = {
|
|
6723
|
+
msg: '',
|
|
6724
|
+
appId: '',
|
|
6725
|
+
orderId: '',
|
|
6726
|
+
resultCode: 0,
|
|
6727
|
+
transTime: 0,
|
|
6728
|
+
createdAt: '',
|
|
6729
|
+
};
|
|
6730
|
+
return Promise.resolve(result);
|
|
6731
|
+
}
|
|
6710
6732
|
}
|
|
6711
6733
|
_MockSDKService_appId = new WeakMap(), _MockSDKService_appConfig = new WeakMap(), _MockSDKService_zOAuth = new WeakMap(), _MockSDKService_accessToken = new WeakMap(), _MockSDKService_cache = new WeakMap(), _MockSDKService_loggedId = new WeakMap();
|
|
6712
6734
|
|
|
@@ -8179,6 +8201,196 @@ const validate = (target, propertyName, descriptor) => {
|
|
|
8179
8201
|
return descriptor;
|
|
8180
8202
|
};
|
|
8181
8203
|
|
|
8204
|
+
var _PaymentService_appId;
|
|
8205
|
+
class PaymentService {
|
|
8206
|
+
constructor() {
|
|
8207
|
+
_PaymentService_appId.set(this, APP_ID);
|
|
8208
|
+
}
|
|
8209
|
+
static getInstance() {
|
|
8210
|
+
if (!PaymentService.instance) {
|
|
8211
|
+
PaymentService.instance = new PaymentService();
|
|
8212
|
+
}
|
|
8213
|
+
return PaymentService.instance;
|
|
8214
|
+
}
|
|
8215
|
+
/**
|
|
8216
|
+
* Tạo đơn hàng
|
|
8217
|
+
*
|
|
8218
|
+
* @async
|
|
8219
|
+
* @function createOrder
|
|
8220
|
+
* @category PaymentService
|
|
8221
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
8222
|
+
*/
|
|
8223
|
+
createOrder(sdk, object) {
|
|
8224
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8225
|
+
const miniAppId = __classPrivateFieldGet(this, _PaymentService_appId, "f");
|
|
8226
|
+
const inputData = new URLSearchParams();
|
|
8227
|
+
inputData.append('amount', object.amount.toString());
|
|
8228
|
+
inputData.append('item', encodeURIComponent(JSON.stringify(object.item)));
|
|
8229
|
+
inputData.append('appId', miniAppId);
|
|
8230
|
+
if (object.desc) {
|
|
8231
|
+
inputData.append('desc', encodeURIComponent(object.desc));
|
|
8232
|
+
}
|
|
8233
|
+
if (object.extradata) {
|
|
8234
|
+
inputData.append('extradata', encodeURIComponent(JSON.stringify(object.extradata)));
|
|
8235
|
+
}
|
|
8236
|
+
if (object.method) {
|
|
8237
|
+
inputData.append('method', object.method);
|
|
8238
|
+
}
|
|
8239
|
+
const postConfig = {
|
|
8240
|
+
headers: {
|
|
8241
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
8242
|
+
'authorization': `Bearer `
|
|
8243
|
+
}
|
|
8244
|
+
};
|
|
8245
|
+
try {
|
|
8246
|
+
const accessToken = yield sdk.getAccessToken({
|
|
8247
|
+
fail: (error) => {
|
|
8248
|
+
throw apiResponse.error.loginRequired;
|
|
8249
|
+
}
|
|
8250
|
+
});
|
|
8251
|
+
postConfig.headers.authorization = `Bearer ${accessToken}`;
|
|
8252
|
+
const res = yield fetch(PAYMENT_APIS.CREATE_ORDER, Object.assign(Object.assign({ method: 'POST' }, postConfig), { body: inputData }));
|
|
8253
|
+
const resData = yield res.json();
|
|
8254
|
+
if (!resData.data || resData.err !== 0) {
|
|
8255
|
+
throw new Error(resData.msg);
|
|
8256
|
+
}
|
|
8257
|
+
const orderId = resData.data.id;
|
|
8258
|
+
const version = window.APP_VERSION;
|
|
8259
|
+
const env = window.APP_ENV;
|
|
8260
|
+
const params = {
|
|
8261
|
+
miniAppId,
|
|
8262
|
+
accessToken: accessToken || '',
|
|
8263
|
+
orderId,
|
|
8264
|
+
};
|
|
8265
|
+
if (version) {
|
|
8266
|
+
params.version = version;
|
|
8267
|
+
}
|
|
8268
|
+
if (env) {
|
|
8269
|
+
params.env = env;
|
|
8270
|
+
}
|
|
8271
|
+
if (object.method) {
|
|
8272
|
+
params.method = object.method;
|
|
8273
|
+
}
|
|
8274
|
+
const buildURLQuery = QueryString.encode(params);
|
|
8275
|
+
const h5Url = new URL(`?${buildURLQuery}`, PAYMENT_H5_URL).toString();
|
|
8276
|
+
yield sdk.openWebview({
|
|
8277
|
+
url: h5Url,
|
|
8278
|
+
fail: (err) => {
|
|
8279
|
+
throw err;
|
|
8280
|
+
}
|
|
8281
|
+
});
|
|
8282
|
+
return { orderId };
|
|
8283
|
+
}
|
|
8284
|
+
catch (err) {
|
|
8285
|
+
throw err;
|
|
8286
|
+
}
|
|
8287
|
+
});
|
|
8288
|
+
}
|
|
8289
|
+
/**
|
|
8290
|
+
* Lấy thông tin transaction
|
|
8291
|
+
*
|
|
8292
|
+
* @async
|
|
8293
|
+
* @function checkTransaction
|
|
8294
|
+
* @category PaymentService
|
|
8295
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
8296
|
+
*/
|
|
8297
|
+
checkTransaction(sdk, object) {
|
|
8298
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8299
|
+
try {
|
|
8300
|
+
let { data: inputData } = object;
|
|
8301
|
+
let id;
|
|
8302
|
+
if (!inputData) {
|
|
8303
|
+
inputData = sdk.getRouteParams();
|
|
8304
|
+
}
|
|
8305
|
+
if (typeof inputData === 'object') {
|
|
8306
|
+
id = inputData.appTransID || inputData.orderId || inputData.apptransid;
|
|
8307
|
+
}
|
|
8308
|
+
if (typeof inputData === 'string') {
|
|
8309
|
+
const orderId = QueryString.getParameterByName("orderId", inputData);
|
|
8310
|
+
const appTransID = QueryString.getParameterByName("appTransID", inputData) || QueryString.getParameterByName("apptransid", inputData);
|
|
8311
|
+
id = orderId || appTransID;
|
|
8312
|
+
}
|
|
8313
|
+
const url = new URL(PAYMENT_APIS.GET_TRANSACTION);
|
|
8314
|
+
const params = {
|
|
8315
|
+
transId: id || "",
|
|
8316
|
+
appId: __classPrivateFieldGet(this, _PaymentService_appId, "f")
|
|
8317
|
+
};
|
|
8318
|
+
url.search = new URLSearchParams(params).toString();
|
|
8319
|
+
const res = yield fetch(url.toString());
|
|
8320
|
+
const resData = yield res.json();
|
|
8321
|
+
if (!resData.data || resData.err !== 0) {
|
|
8322
|
+
throw new Error(resData.msg);
|
|
8323
|
+
}
|
|
8324
|
+
const data = resData.data || {};
|
|
8325
|
+
const transaction = {
|
|
8326
|
+
msg: data.resultMessage,
|
|
8327
|
+
appId: data.appId,
|
|
8328
|
+
orderId: data.orderId,
|
|
8329
|
+
resultCode: data.resultCode,
|
|
8330
|
+
transTime: data.transTime,
|
|
8331
|
+
createdAt: data.createAt
|
|
8332
|
+
};
|
|
8333
|
+
return transaction;
|
|
8334
|
+
}
|
|
8335
|
+
catch (err) {
|
|
8336
|
+
throw err;
|
|
8337
|
+
}
|
|
8338
|
+
});
|
|
8339
|
+
}
|
|
8340
|
+
}
|
|
8341
|
+
_PaymentService_appId = new WeakMap();
|
|
8342
|
+
|
|
8343
|
+
var _PaymentCreator_instance, _PaymentCreator_sdk;
|
|
8344
|
+
class PaymentCreator {
|
|
8345
|
+
constructor(sdk) {
|
|
8346
|
+
_PaymentCreator_instance.set(this, void 0);
|
|
8347
|
+
_PaymentCreator_sdk.set(this, void 0);
|
|
8348
|
+
__classPrivateFieldSet(this, _PaymentCreator_instance, this.getInstance(), "f");
|
|
8349
|
+
__classPrivateFieldSet(this, _PaymentCreator_sdk, sdk, "f");
|
|
8350
|
+
}
|
|
8351
|
+
/**
|
|
8352
|
+
* Tạo đơn hàng
|
|
8353
|
+
*
|
|
8354
|
+
* @async
|
|
8355
|
+
* @function createOrder
|
|
8356
|
+
* @category Payment
|
|
8357
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
8358
|
+
*/
|
|
8359
|
+
createOrder(object) {
|
|
8360
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").createOrder(__classPrivateFieldGet(this, _PaymentCreator_sdk, "f"), object);
|
|
8361
|
+
}
|
|
8362
|
+
/**
|
|
8363
|
+
* Lấy thông tin transaction
|
|
8364
|
+
*
|
|
8365
|
+
* @async
|
|
8366
|
+
* @function checkTransaction
|
|
8367
|
+
* @category Payment
|
|
8368
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
8369
|
+
*/
|
|
8370
|
+
checkTransaction(object) {
|
|
8371
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").checkTransaction(__classPrivateFieldGet(this, _PaymentCreator_sdk, "f"), object);
|
|
8372
|
+
}
|
|
8373
|
+
}
|
|
8374
|
+
_PaymentCreator_instance = new WeakMap(), _PaymentCreator_sdk = new WeakMap();
|
|
8375
|
+
__decorate([
|
|
8376
|
+
handleError,
|
|
8377
|
+
validate,
|
|
8378
|
+
__param(0, checkType('object', {
|
|
8379
|
+
'amount': checkData(['string', 'number']),
|
|
8380
|
+
'desc': checkData('string'),
|
|
8381
|
+
'method?': checkData('string', { values: ['MOMO', 'ZALOPAY', 'MOMO_SANDBOX', 'ZALOPAY_SANDBOX', 'CC', 'CC_SANDBOX', 'ATM', 'ATM_SANDBOX'] })
|
|
8382
|
+
}))
|
|
8383
|
+
], PaymentCreator.prototype, "createOrder", null);
|
|
8384
|
+
__decorate([
|
|
8385
|
+
handleError,
|
|
8386
|
+
validate
|
|
8387
|
+
], PaymentCreator.prototype, "checkTransaction", null);
|
|
8388
|
+
class ZaloMiniAppPaymentCreator extends PaymentCreator {
|
|
8389
|
+
getInstance() {
|
|
8390
|
+
return PaymentService.getInstance();
|
|
8391
|
+
}
|
|
8392
|
+
}
|
|
8393
|
+
|
|
8182
8394
|
var _SDKCreator_sdkService;
|
|
8183
8395
|
class SDKCreator {
|
|
8184
8396
|
constructor() {
|
|
@@ -8189,6 +8401,7 @@ class SDKCreator {
|
|
|
8189
8401
|
const stringifyEventName = event;
|
|
8190
8402
|
return this.events.addListener(Events[stringifyEventName], fn, context);
|
|
8191
8403
|
};
|
|
8404
|
+
this.payment = new ZaloMiniAppPaymentCreator(this);
|
|
8192
8405
|
}
|
|
8193
8406
|
/**
|
|
8194
8407
|
* Login to call more action.
|
|
@@ -9089,7 +9302,8 @@ if (platform.isZalo) {
|
|
|
9089
9302
|
else {
|
|
9090
9303
|
app = new MockSDKCreator();
|
|
9091
9304
|
}
|
|
9305
|
+
const payment = app.payment;
|
|
9092
9306
|
window.ZaloMiniAppSDK = app;
|
|
9093
9307
|
|
|
9094
9308
|
export default app;
|
|
9095
|
-
export { ChatType, Events, MediaPickerType, NativeCode, NetworkType, OrientationType, PlatformType, PostFeedType, ProfileType, SDKCreator, ShareSheetType, VibrateType };
|
|
9309
|
+
export { ChatType, Events, MediaPickerType, NativeCode, NetworkType, OrientationType, payment as Payment, PlatformType, PostFeedType, ProfileType, SDKCreator, ShareSheetType, VibrateType };
|