zmp-sdk 2.18.0 → 2.19.0-rc.0
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 +208 -4
- package/dist/index.es.js +209 -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 +5 -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 +21 -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
|
@@ -19808,6 +19808,7 @@
|
|
|
19808
19808
|
GET_ACCESS_TOKEN: 'https://h5.zalo.me/openapi/access_token',
|
|
19809
19809
|
GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token',
|
|
19810
19810
|
GET_LIST_USER_INFO: 'https://graph.zalo.me/v2.0/me/friends/list',
|
|
19811
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
19811
19812
|
};
|
|
19812
19813
|
const STORAGE_LIMIT = 5 * MB;
|
|
19813
19814
|
const NETWORK_TYPE = (isAndroid) => ({
|
|
@@ -20266,7 +20267,11 @@
|
|
|
20266
20267
|
HIDE_HOME: 0
|
|
20267
20268
|
};
|
|
20268
20269
|
const SHOW_ACTION_BAR = 5;
|
|
20269
|
-
const HIDE_ACTION_BAR = 6;
|
|
20270
|
+
const HIDE_ACTION_BAR = 6;
|
|
20271
|
+
const PAYMENT_APIS = {
|
|
20272
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
20273
|
+
GET_TRANSACTION: 'https://payment-mini.zalo.me/api/transaction'
|
|
20274
|
+
};
|
|
20270
20275
|
|
|
20271
20276
|
class CommonError {
|
|
20272
20277
|
constructor(code, msg, api) {
|
|
@@ -20403,7 +20408,7 @@
|
|
|
20403
20408
|
missingParam: (params) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Missing required argument: ${params}`),
|
|
20404
20409
|
wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`),
|
|
20405
20410
|
cannotGetShareInfo: () => new CommonError(RESPONSE_CODE.INTERNAL_SERVER_ERROR, `Can not get app info to share`),
|
|
20406
|
-
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`)
|
|
20411
|
+
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`),
|
|
20407
20412
|
}
|
|
20408
20413
|
};
|
|
20409
20414
|
|
|
@@ -20776,7 +20781,7 @@
|
|
|
20776
20781
|
}
|
|
20777
20782
|
if (lodash.isNumber(option === null || option === void 0 ? void 0 : option.maxLength)) {
|
|
20778
20783
|
return {
|
|
20779
|
-
error:
|
|
20784
|
+
error: lodash.isString(data) && data.length > (option === null || option === void 0 ? void 0 : option.maxLength),
|
|
20780
20785
|
errorMessage: `data length must <= ${option === null || option === void 0 ? void 0 : option.maxLength}`
|
|
20781
20786
|
};
|
|
20782
20787
|
}
|
|
@@ -21616,7 +21621,7 @@
|
|
|
21616
21621
|
}
|
|
21617
21622
|
_ZJSBridgeProvider_bridge = new WeakMap();
|
|
21618
21623
|
|
|
21619
|
-
var version = "2.
|
|
21624
|
+
var version = "2.19.0-rc.0";
|
|
21620
21625
|
|
|
21621
21626
|
class Basics {
|
|
21622
21627
|
/**
|
|
@@ -24270,6 +24275,23 @@
|
|
|
24270
24275
|
urls: []
|
|
24271
24276
|
});
|
|
24272
24277
|
}
|
|
24278
|
+
createOrder(object) {
|
|
24279
|
+
const result = { orderId: "" };
|
|
24280
|
+
return Promise.resolve(result);
|
|
24281
|
+
}
|
|
24282
|
+
;
|
|
24283
|
+
checkTransaction(object) {
|
|
24284
|
+
const result = {
|
|
24285
|
+
msg: '',
|
|
24286
|
+
appId: '',
|
|
24287
|
+
merchantAppId: '',
|
|
24288
|
+
id: '',
|
|
24289
|
+
resultCode: 0,
|
|
24290
|
+
transTime: 0,
|
|
24291
|
+
createdAt: '',
|
|
24292
|
+
};
|
|
24293
|
+
return Promise.resolve(result);
|
|
24294
|
+
}
|
|
24273
24295
|
}
|
|
24274
24296
|
_MockSDKService_appId = new WeakMap(), _MockSDKService_appConfig = new WeakMap(), _MockSDKService_zOAuth = new WeakMap(), _MockSDKService_accessToken = new WeakMap(), _MockSDKService_cache = new WeakMap(), _MockSDKService_loggedId = new WeakMap();
|
|
24275
24297
|
|
|
@@ -24375,6 +24397,186 @@
|
|
|
24375
24397
|
return descriptor;
|
|
24376
24398
|
};
|
|
24377
24399
|
|
|
24400
|
+
var _PaymentService_appId;
|
|
24401
|
+
class PaymentService {
|
|
24402
|
+
constructor() {
|
|
24403
|
+
_PaymentService_appId.set(this, APP_ID);
|
|
24404
|
+
}
|
|
24405
|
+
static getInstance() {
|
|
24406
|
+
if (!PaymentService.instance) {
|
|
24407
|
+
PaymentService.instance = new PaymentService();
|
|
24408
|
+
}
|
|
24409
|
+
return PaymentService.instance;
|
|
24410
|
+
}
|
|
24411
|
+
/**
|
|
24412
|
+
* Tạo đơn hàng
|
|
24413
|
+
*
|
|
24414
|
+
* @async
|
|
24415
|
+
* @function createOrder
|
|
24416
|
+
* @category PaymentService
|
|
24417
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
24418
|
+
*/
|
|
24419
|
+
createOrder(sdk, object) {
|
|
24420
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24421
|
+
const miniAppId = __classPrivateFieldGet(this, _PaymentService_appId, "f");
|
|
24422
|
+
const inputData = new URLSearchParams();
|
|
24423
|
+
inputData.append('amount', object.amount.toString());
|
|
24424
|
+
inputData.append('item', encodeURIComponent(JSON.stringify(object.item)));
|
|
24425
|
+
inputData.append('appId', miniAppId);
|
|
24426
|
+
if (object.desc) {
|
|
24427
|
+
inputData.append('desc', encodeURIComponent(object.desc));
|
|
24428
|
+
}
|
|
24429
|
+
if (object.extradata) {
|
|
24430
|
+
inputData.append('extradata', encodeURIComponent(JSON.stringify(object.extradata)));
|
|
24431
|
+
}
|
|
24432
|
+
if (object.method) {
|
|
24433
|
+
inputData.append('method', object.method);
|
|
24434
|
+
}
|
|
24435
|
+
const postConfig = {
|
|
24436
|
+
headers: {
|
|
24437
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
24438
|
+
'authorization': `Bearer `
|
|
24439
|
+
}
|
|
24440
|
+
};
|
|
24441
|
+
try {
|
|
24442
|
+
const accessToken = yield sdk.getAccessToken({
|
|
24443
|
+
fail: (error) => {
|
|
24444
|
+
throw apiResponse.error.loginRequired;
|
|
24445
|
+
}
|
|
24446
|
+
});
|
|
24447
|
+
postConfig.headers.authorization = `Bearer ${accessToken}`;
|
|
24448
|
+
const res = yield axios.post(PAYMENT_APIS.CREATE_ORDER, inputData, postConfig);
|
|
24449
|
+
const resData = res.data;
|
|
24450
|
+
if (!resData.data || resData.err !== 0) {
|
|
24451
|
+
throw new Error(resData.msg);
|
|
24452
|
+
}
|
|
24453
|
+
const orderId = resData.data.id;
|
|
24454
|
+
const { version } = yield sdk.getAppInfo();
|
|
24455
|
+
const params = {
|
|
24456
|
+
version,
|
|
24457
|
+
miniAppId,
|
|
24458
|
+
accessToken: accessToken || '',
|
|
24459
|
+
orderId,
|
|
24460
|
+
};
|
|
24461
|
+
if (object.method) {
|
|
24462
|
+
params.method = object.method;
|
|
24463
|
+
}
|
|
24464
|
+
const buildURLQuery = QueryString.encode(params);
|
|
24465
|
+
yield sdk.openWebview({
|
|
24466
|
+
url: `https://payment-mini.zalo.me/?${buildURLQuery}`,
|
|
24467
|
+
fail: (err) => {
|
|
24468
|
+
throw err;
|
|
24469
|
+
}
|
|
24470
|
+
});
|
|
24471
|
+
return { orderId };
|
|
24472
|
+
}
|
|
24473
|
+
catch (err) {
|
|
24474
|
+
throw err;
|
|
24475
|
+
}
|
|
24476
|
+
});
|
|
24477
|
+
}
|
|
24478
|
+
/**
|
|
24479
|
+
* Lấy thông tin transaction
|
|
24480
|
+
*
|
|
24481
|
+
* @async
|
|
24482
|
+
* @function checkTransaction
|
|
24483
|
+
* @category PaymentService
|
|
24484
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
24485
|
+
*/
|
|
24486
|
+
checkTransaction(object) {
|
|
24487
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24488
|
+
try {
|
|
24489
|
+
const { data: inputData } = object;
|
|
24490
|
+
let id;
|
|
24491
|
+
if (typeof inputData === 'object') {
|
|
24492
|
+
id = inputData.appTransID || inputData.orderId;
|
|
24493
|
+
}
|
|
24494
|
+
if (typeof inputData === 'string') {
|
|
24495
|
+
const orderId = QueryString.getParameterByName("orderId", inputData);
|
|
24496
|
+
const appTransID = QueryString.getParameterByName("appTransID", inputData) || QueryString.getParameterByName("apptransid", inputData);
|
|
24497
|
+
id = orderId || appTransID;
|
|
24498
|
+
}
|
|
24499
|
+
const res = yield axios.get(PAYMENT_APIS.GET_TRANSACTION, {
|
|
24500
|
+
params: {
|
|
24501
|
+
transId: id,
|
|
24502
|
+
appId: __classPrivateFieldGet(this, _PaymentService_appId, "f")
|
|
24503
|
+
}
|
|
24504
|
+
});
|
|
24505
|
+
const resData = res.data;
|
|
24506
|
+
if (!resData.data || resData.err !== 0) {
|
|
24507
|
+
throw new Error(resData.msg);
|
|
24508
|
+
}
|
|
24509
|
+
const data = resData.data || {};
|
|
24510
|
+
const transaction = {
|
|
24511
|
+
msg: data.resultMessage,
|
|
24512
|
+
appId: data.appId,
|
|
24513
|
+
merchantAppId: data.merchantAppId,
|
|
24514
|
+
id: data.serverTransId,
|
|
24515
|
+
resultCode: data.resultCode,
|
|
24516
|
+
transTime: data.transTime,
|
|
24517
|
+
createdAt: data.createAt
|
|
24518
|
+
};
|
|
24519
|
+
return transaction;
|
|
24520
|
+
}
|
|
24521
|
+
catch (err) {
|
|
24522
|
+
throw err;
|
|
24523
|
+
}
|
|
24524
|
+
});
|
|
24525
|
+
}
|
|
24526
|
+
}
|
|
24527
|
+
_PaymentService_appId = new WeakMap();
|
|
24528
|
+
|
|
24529
|
+
var _PaymentCreator_instance, _PaymentCreator_sdk;
|
|
24530
|
+
class PaymentCreator {
|
|
24531
|
+
constructor(sdk) {
|
|
24532
|
+
_PaymentCreator_instance.set(this, void 0);
|
|
24533
|
+
_PaymentCreator_sdk.set(this, void 0);
|
|
24534
|
+
__classPrivateFieldSet(this, _PaymentCreator_instance, this.getInstance(), "f");
|
|
24535
|
+
__classPrivateFieldSet(this, _PaymentCreator_sdk, sdk, "f");
|
|
24536
|
+
}
|
|
24537
|
+
/**
|
|
24538
|
+
* Tạo đơn hàng
|
|
24539
|
+
*
|
|
24540
|
+
* @async
|
|
24541
|
+
* @function createOrder
|
|
24542
|
+
* @category Payment
|
|
24543
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
24544
|
+
*/
|
|
24545
|
+
createOrder(object) {
|
|
24546
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").createOrder(__classPrivateFieldGet(this, _PaymentCreator_sdk, "f"), object);
|
|
24547
|
+
}
|
|
24548
|
+
/**
|
|
24549
|
+
* Lấy thông tin transaction
|
|
24550
|
+
*
|
|
24551
|
+
* @async
|
|
24552
|
+
* @function checkTransaction
|
|
24553
|
+
* @category Payment
|
|
24554
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
24555
|
+
*/
|
|
24556
|
+
checkTransaction(object) {
|
|
24557
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").checkTransaction(object);
|
|
24558
|
+
}
|
|
24559
|
+
}
|
|
24560
|
+
_PaymentCreator_instance = new WeakMap(), _PaymentCreator_sdk = new WeakMap();
|
|
24561
|
+
__decorate([
|
|
24562
|
+
handleError,
|
|
24563
|
+
validate,
|
|
24564
|
+
__param(0, checkType('object', {
|
|
24565
|
+
'amount': checkData(['string', 'number']),
|
|
24566
|
+
'desc': checkData('string'),
|
|
24567
|
+
'method?': checkData('string', { values: ['MOMO', 'ZALOPAY', 'MOMO_SANDBOX', 'ZALOPAY_SANDBOX', 'GATEWAY'] })
|
|
24568
|
+
}))
|
|
24569
|
+
], PaymentCreator.prototype, "createOrder", null);
|
|
24570
|
+
__decorate([
|
|
24571
|
+
handleError,
|
|
24572
|
+
validate
|
|
24573
|
+
], PaymentCreator.prototype, "checkTransaction", null);
|
|
24574
|
+
class ZaloMiniAppPaymentCreator extends PaymentCreator {
|
|
24575
|
+
getInstance() {
|
|
24576
|
+
return PaymentService.getInstance();
|
|
24577
|
+
}
|
|
24578
|
+
}
|
|
24579
|
+
|
|
24378
24580
|
var _SDKCreator_sdkService;
|
|
24379
24581
|
class SDKCreator {
|
|
24380
24582
|
constructor() {
|
|
@@ -24385,6 +24587,7 @@
|
|
|
24385
24587
|
const stringifyEventName = event;
|
|
24386
24588
|
return this.events.addListener(Events[stringifyEventName], fn, context);
|
|
24387
24589
|
};
|
|
24590
|
+
this.payment = new ZaloMiniAppPaymentCreator(this);
|
|
24388
24591
|
}
|
|
24389
24592
|
/**
|
|
24390
24593
|
* Login to call more action.
|
|
@@ -25274,6 +25477,7 @@
|
|
|
25274
25477
|
else {
|
|
25275
25478
|
app = new MockSDKCreator();
|
|
25276
25479
|
}
|
|
25480
|
+
app.payment;
|
|
25277
25481
|
window.ZaloMiniAppSDK = app;
|
|
25278
25482
|
|
|
25279
25483
|
// @ts-ignore
|
package/dist/index.es.js
CHANGED
|
@@ -19805,6 +19805,7 @@ const APIS = {
|
|
|
19805
19805
|
GET_ACCESS_TOKEN: 'https://h5.zalo.me/openapi/access_token',
|
|
19806
19806
|
GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token',
|
|
19807
19807
|
GET_LIST_USER_INFO: 'https://graph.zalo.me/v2.0/me/friends/list',
|
|
19808
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
19808
19809
|
};
|
|
19809
19810
|
const STORAGE_LIMIT = 5 * MB;
|
|
19810
19811
|
const NETWORK_TYPE = (isAndroid) => ({
|
|
@@ -20263,7 +20264,11 @@ const ACTION_LEFT_BUTTON_TYPE = {
|
|
|
20263
20264
|
HIDE_HOME: 0
|
|
20264
20265
|
};
|
|
20265
20266
|
const SHOW_ACTION_BAR = 5;
|
|
20266
|
-
const HIDE_ACTION_BAR = 6;
|
|
20267
|
+
const HIDE_ACTION_BAR = 6;
|
|
20268
|
+
const PAYMENT_APIS = {
|
|
20269
|
+
CREATE_ORDER: 'https://payment-mini.zalo.me/api/order/create',
|
|
20270
|
+
GET_TRANSACTION: 'https://payment-mini.zalo.me/api/transaction'
|
|
20271
|
+
};
|
|
20267
20272
|
|
|
20268
20273
|
class CommonError {
|
|
20269
20274
|
constructor(code, msg, api) {
|
|
@@ -20400,7 +20405,7 @@ const apiResponse = {
|
|
|
20400
20405
|
missingParam: (params) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Missing required argument: ${params}`),
|
|
20401
20406
|
wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`),
|
|
20402
20407
|
cannotGetShareInfo: () => new CommonError(RESPONSE_CODE.INTERNAL_SERVER_ERROR, `Can not get app info to share`),
|
|
20403
|
-
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`)
|
|
20408
|
+
lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`),
|
|
20404
20409
|
}
|
|
20405
20410
|
};
|
|
20406
20411
|
|
|
@@ -20773,7 +20778,7 @@ const checkData = (types, option) => (data) => {
|
|
|
20773
20778
|
}
|
|
20774
20779
|
if (lodash.isNumber(option === null || option === void 0 ? void 0 : option.maxLength)) {
|
|
20775
20780
|
return {
|
|
20776
|
-
error:
|
|
20781
|
+
error: lodash.isString(data) && data.length > (option === null || option === void 0 ? void 0 : option.maxLength),
|
|
20777
20782
|
errorMessage: `data length must <= ${option === null || option === void 0 ? void 0 : option.maxLength}`
|
|
20778
20783
|
};
|
|
20779
20784
|
}
|
|
@@ -21613,7 +21618,7 @@ class ZJSBridgeProvider {
|
|
|
21613
21618
|
}
|
|
21614
21619
|
_ZJSBridgeProvider_bridge = new WeakMap();
|
|
21615
21620
|
|
|
21616
|
-
var version = "2.
|
|
21621
|
+
var version = "2.19.0-rc.0";
|
|
21617
21622
|
|
|
21618
21623
|
class Basics {
|
|
21619
21624
|
/**
|
|
@@ -24267,6 +24272,23 @@ class MockSDKService {
|
|
|
24267
24272
|
urls: []
|
|
24268
24273
|
});
|
|
24269
24274
|
}
|
|
24275
|
+
createOrder(object) {
|
|
24276
|
+
const result = { orderId: "" };
|
|
24277
|
+
return Promise.resolve(result);
|
|
24278
|
+
}
|
|
24279
|
+
;
|
|
24280
|
+
checkTransaction(object) {
|
|
24281
|
+
const result = {
|
|
24282
|
+
msg: '',
|
|
24283
|
+
appId: '',
|
|
24284
|
+
merchantAppId: '',
|
|
24285
|
+
id: '',
|
|
24286
|
+
resultCode: 0,
|
|
24287
|
+
transTime: 0,
|
|
24288
|
+
createdAt: '',
|
|
24289
|
+
};
|
|
24290
|
+
return Promise.resolve(result);
|
|
24291
|
+
}
|
|
24270
24292
|
}
|
|
24271
24293
|
_MockSDKService_appId = new WeakMap(), _MockSDKService_appConfig = new WeakMap(), _MockSDKService_zOAuth = new WeakMap(), _MockSDKService_accessToken = new WeakMap(), _MockSDKService_cache = new WeakMap(), _MockSDKService_loggedId = new WeakMap();
|
|
24272
24294
|
|
|
@@ -25504,6 +25526,186 @@ const validate = (target, propertyName, descriptor) => {
|
|
|
25504
25526
|
return descriptor;
|
|
25505
25527
|
};
|
|
25506
25528
|
|
|
25529
|
+
var _PaymentService_appId;
|
|
25530
|
+
class PaymentService {
|
|
25531
|
+
constructor() {
|
|
25532
|
+
_PaymentService_appId.set(this, APP_ID);
|
|
25533
|
+
}
|
|
25534
|
+
static getInstance() {
|
|
25535
|
+
if (!PaymentService.instance) {
|
|
25536
|
+
PaymentService.instance = new PaymentService();
|
|
25537
|
+
}
|
|
25538
|
+
return PaymentService.instance;
|
|
25539
|
+
}
|
|
25540
|
+
/**
|
|
25541
|
+
* Tạo đơn hàng
|
|
25542
|
+
*
|
|
25543
|
+
* @async
|
|
25544
|
+
* @function createOrder
|
|
25545
|
+
* @category PaymentService
|
|
25546
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
25547
|
+
*/
|
|
25548
|
+
createOrder(sdk, object) {
|
|
25549
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25550
|
+
const miniAppId = __classPrivateFieldGet(this, _PaymentService_appId, "f");
|
|
25551
|
+
const inputData = new URLSearchParams();
|
|
25552
|
+
inputData.append('amount', object.amount.toString());
|
|
25553
|
+
inputData.append('item', encodeURIComponent(JSON.stringify(object.item)));
|
|
25554
|
+
inputData.append('appId', miniAppId);
|
|
25555
|
+
if (object.desc) {
|
|
25556
|
+
inputData.append('desc', encodeURIComponent(object.desc));
|
|
25557
|
+
}
|
|
25558
|
+
if (object.extradata) {
|
|
25559
|
+
inputData.append('extradata', encodeURIComponent(JSON.stringify(object.extradata)));
|
|
25560
|
+
}
|
|
25561
|
+
if (object.method) {
|
|
25562
|
+
inputData.append('method', object.method);
|
|
25563
|
+
}
|
|
25564
|
+
const postConfig = {
|
|
25565
|
+
headers: {
|
|
25566
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
25567
|
+
'authorization': `Bearer `
|
|
25568
|
+
}
|
|
25569
|
+
};
|
|
25570
|
+
try {
|
|
25571
|
+
const accessToken = yield sdk.getAccessToken({
|
|
25572
|
+
fail: (error) => {
|
|
25573
|
+
throw apiResponse.error.loginRequired;
|
|
25574
|
+
}
|
|
25575
|
+
});
|
|
25576
|
+
postConfig.headers.authorization = `Bearer ${accessToken}`;
|
|
25577
|
+
const res = yield axios.post(PAYMENT_APIS.CREATE_ORDER, inputData, postConfig);
|
|
25578
|
+
const resData = res.data;
|
|
25579
|
+
if (!resData.data || resData.err !== 0) {
|
|
25580
|
+
throw new Error(resData.msg);
|
|
25581
|
+
}
|
|
25582
|
+
const orderId = resData.data.id;
|
|
25583
|
+
const { version } = yield sdk.getAppInfo();
|
|
25584
|
+
const params = {
|
|
25585
|
+
version,
|
|
25586
|
+
miniAppId,
|
|
25587
|
+
accessToken: accessToken || '',
|
|
25588
|
+
orderId,
|
|
25589
|
+
};
|
|
25590
|
+
if (object.method) {
|
|
25591
|
+
params.method = object.method;
|
|
25592
|
+
}
|
|
25593
|
+
const buildURLQuery = QueryString.encode(params);
|
|
25594
|
+
yield sdk.openWebview({
|
|
25595
|
+
url: `https://payment-mini.zalo.me/?${buildURLQuery}`,
|
|
25596
|
+
fail: (err) => {
|
|
25597
|
+
throw err;
|
|
25598
|
+
}
|
|
25599
|
+
});
|
|
25600
|
+
return { orderId };
|
|
25601
|
+
}
|
|
25602
|
+
catch (err) {
|
|
25603
|
+
throw err;
|
|
25604
|
+
}
|
|
25605
|
+
});
|
|
25606
|
+
}
|
|
25607
|
+
/**
|
|
25608
|
+
* Lấy thông tin transaction
|
|
25609
|
+
*
|
|
25610
|
+
* @async
|
|
25611
|
+
* @function checkTransaction
|
|
25612
|
+
* @category PaymentService
|
|
25613
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
25614
|
+
*/
|
|
25615
|
+
checkTransaction(object) {
|
|
25616
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25617
|
+
try {
|
|
25618
|
+
const { data: inputData } = object;
|
|
25619
|
+
let id;
|
|
25620
|
+
if (typeof inputData === 'object') {
|
|
25621
|
+
id = inputData.appTransID || inputData.orderId;
|
|
25622
|
+
}
|
|
25623
|
+
if (typeof inputData === 'string') {
|
|
25624
|
+
const orderId = QueryString.getParameterByName("orderId", inputData);
|
|
25625
|
+
const appTransID = QueryString.getParameterByName("appTransID", inputData) || QueryString.getParameterByName("apptransid", inputData);
|
|
25626
|
+
id = orderId || appTransID;
|
|
25627
|
+
}
|
|
25628
|
+
const res = yield axios.get(PAYMENT_APIS.GET_TRANSACTION, {
|
|
25629
|
+
params: {
|
|
25630
|
+
transId: id,
|
|
25631
|
+
appId: __classPrivateFieldGet(this, _PaymentService_appId, "f")
|
|
25632
|
+
}
|
|
25633
|
+
});
|
|
25634
|
+
const resData = res.data;
|
|
25635
|
+
if (!resData.data || resData.err !== 0) {
|
|
25636
|
+
throw new Error(resData.msg);
|
|
25637
|
+
}
|
|
25638
|
+
const data = resData.data || {};
|
|
25639
|
+
const transaction = {
|
|
25640
|
+
msg: data.resultMessage,
|
|
25641
|
+
appId: data.appId,
|
|
25642
|
+
merchantAppId: data.merchantAppId,
|
|
25643
|
+
id: data.serverTransId,
|
|
25644
|
+
resultCode: data.resultCode,
|
|
25645
|
+
transTime: data.transTime,
|
|
25646
|
+
createdAt: data.createAt
|
|
25647
|
+
};
|
|
25648
|
+
return transaction;
|
|
25649
|
+
}
|
|
25650
|
+
catch (err) {
|
|
25651
|
+
throw err;
|
|
25652
|
+
}
|
|
25653
|
+
});
|
|
25654
|
+
}
|
|
25655
|
+
}
|
|
25656
|
+
_PaymentService_appId = new WeakMap();
|
|
25657
|
+
|
|
25658
|
+
var _PaymentCreator_instance, _PaymentCreator_sdk;
|
|
25659
|
+
class PaymentCreator {
|
|
25660
|
+
constructor(sdk) {
|
|
25661
|
+
_PaymentCreator_instance.set(this, void 0);
|
|
25662
|
+
_PaymentCreator_sdk.set(this, void 0);
|
|
25663
|
+
__classPrivateFieldSet(this, _PaymentCreator_instance, this.getInstance(), "f");
|
|
25664
|
+
__classPrivateFieldSet(this, _PaymentCreator_sdk, sdk, "f");
|
|
25665
|
+
}
|
|
25666
|
+
/**
|
|
25667
|
+
* Tạo đơn hàng
|
|
25668
|
+
*
|
|
25669
|
+
* @async
|
|
25670
|
+
* @function createOrder
|
|
25671
|
+
* @category Payment
|
|
25672
|
+
* @returns {Promise<CallbackDataType.CreateOrderCallBack>}
|
|
25673
|
+
*/
|
|
25674
|
+
createOrder(object) {
|
|
25675
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").createOrder(__classPrivateFieldGet(this, _PaymentCreator_sdk, "f"), object);
|
|
25676
|
+
}
|
|
25677
|
+
/**
|
|
25678
|
+
* Lấy thông tin transaction
|
|
25679
|
+
*
|
|
25680
|
+
* @async
|
|
25681
|
+
* @function checkTransaction
|
|
25682
|
+
* @category Payment
|
|
25683
|
+
* @returns {Promise<CallbackDataType.CheckTransactionSuccessCallBack>}
|
|
25684
|
+
*/
|
|
25685
|
+
checkTransaction(object) {
|
|
25686
|
+
return __classPrivateFieldGet(this, _PaymentCreator_instance, "f").checkTransaction(object);
|
|
25687
|
+
}
|
|
25688
|
+
}
|
|
25689
|
+
_PaymentCreator_instance = new WeakMap(), _PaymentCreator_sdk = new WeakMap();
|
|
25690
|
+
__decorate([
|
|
25691
|
+
handleError,
|
|
25692
|
+
validate,
|
|
25693
|
+
__param(0, checkType('object', {
|
|
25694
|
+
'amount': checkData(['string', 'number']),
|
|
25695
|
+
'desc': checkData('string'),
|
|
25696
|
+
'method?': checkData('string', { values: ['MOMO', 'ZALOPAY', 'MOMO_SANDBOX', 'ZALOPAY_SANDBOX', 'GATEWAY'] })
|
|
25697
|
+
}))
|
|
25698
|
+
], PaymentCreator.prototype, "createOrder", null);
|
|
25699
|
+
__decorate([
|
|
25700
|
+
handleError,
|
|
25701
|
+
validate
|
|
25702
|
+
], PaymentCreator.prototype, "checkTransaction", null);
|
|
25703
|
+
class ZaloMiniAppPaymentCreator extends PaymentCreator {
|
|
25704
|
+
getInstance() {
|
|
25705
|
+
return PaymentService.getInstance();
|
|
25706
|
+
}
|
|
25707
|
+
}
|
|
25708
|
+
|
|
25507
25709
|
var _SDKCreator_sdkService;
|
|
25508
25710
|
class SDKCreator {
|
|
25509
25711
|
constructor() {
|
|
@@ -25514,6 +25716,7 @@ class SDKCreator {
|
|
|
25514
25716
|
const stringifyEventName = event;
|
|
25515
25717
|
return this.events.addListener(Events[stringifyEventName], fn, context);
|
|
25516
25718
|
};
|
|
25719
|
+
this.payment = new ZaloMiniAppPaymentCreator(this);
|
|
25517
25720
|
}
|
|
25518
25721
|
/**
|
|
25519
25722
|
* Login to call more action.
|
|
@@ -26403,7 +26606,8 @@ if (platform.isZalo) {
|
|
|
26403
26606
|
else {
|
|
26404
26607
|
app = new MockSDKCreator();
|
|
26405
26608
|
}
|
|
26609
|
+
const payment = app.payment;
|
|
26406
26610
|
window.ZaloMiniAppSDK = app;
|
|
26407
26611
|
|
|
26408
26612
|
export default app;
|
|
26409
|
-
export { ChatType, Events, MediaPickerType, NativeCode, NetworkType, OrientationType, PlatformType, PostFeedType, ProfileType, SDKCreator, ShareSheetType, VibrateType };
|
|
26613
|
+
export { ChatType, Events, MediaPickerType, NativeCode, NetworkType, OrientationType, payment as Payment, PlatformType, PostFeedType, ProfileType, SDKCreator, ShareSheetType, VibrateType };
|