Skip to content

Commit 58cd835

Browse files
Merge pull request #104 from xendit/feat/ewallet-agnostic-channel-props
feat(ewallet): make channelProps object wallet-agnostic
2 parents 40d5fcf + 2fd0908 commit 58cd835

File tree

5 files changed

+61
-75
lines changed

5 files changed

+61
-75
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@ ew.createEWalletCharge(data: {
657657
amount: number;
658658
checkoutMethod: string;
659659
channelCode?: ChannelCode;
660-
channelProperties?: OVOChannelProps | PaymayaChannelProps | OtherChannelProps;
660+
channelProperties?: ChannelProps;
661661
customerID?: string;
662662
basket?: Basket[];
663663
metadata?: object;

package-lock.json

Lines changed: 43 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
},
5252
"homepage": "https://github.com/xendit/xendit-node#readme",
5353
"dependencies": {
54-
"node-fetch": "^2.6.0"
54+
"node-fetch": "^2.6.1"
5555
},
5656
"devDependencies": {
5757
"@typescript-eslint/eslint-plugin": "^2.13.0",

src/ewallet/ewallet.d.ts

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,12 @@ enum ChannelCode {
3131
PH_PAYMAYA = 'PH_PAYMAYA',
3232
}
3333

34-
interface OVOChannelProps {
35-
mobileNumber: string;
36-
}
37-
38-
interface PaymayaChannelProps {
39-
successRedirectURL: string;
40-
failureRedirectURL: string;
41-
cancelRedirectURL: string;
42-
}
43-
44-
interface OtherChannelProps {
45-
successRedirectURL: string;
34+
interface ChannelProps {
35+
mobileNumber?: string;
36+
successRedirectURL?: string;
37+
failureRedirectURL?: string;
38+
cancelRedirectURL?: string;
39+
redeemPoints?: string;
4640
}
4741

4842
interface Basket {
@@ -90,10 +84,7 @@ export = class EWallet {
9084
amount: number;
9185
checkoutMethod: string;
9286
channelCode?: ChannelCode;
93-
channelProperties?:
94-
| OVOChannelProps
95-
| PaymayaChannelProps
96-
| OtherChannelProps;
87+
channelProperties?: ChannelProps;
9788
customerID?: string;
9889
basket?: Basket[];
9990
metadata?: object;

src/ewallet/ewallet.js

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -153,20 +153,15 @@ EWallet.prototype.createEWalletCharge = function(data) {
153153
amount: data.amount,
154154
checkout_method: data.checkoutMethod,
155155
channel_code: data.channelCode,
156-
channel_properties:
157-
data.channelCode === 'ID_OVO'
158-
? {
159-
mobile_number: data.channelProperties.mobileNumber,
160-
}
161-
: data.channelCode === 'PH_PAYMAYA'
162-
? {
163-
success_redirect_url: data.channelProperties.successRedirectURL,
164-
failure_redirect_url: data.channelProperties.failureRedirectURL,
165-
cancel_redirect_url: data.channelProperties.cancelRedirectURL,
166-
}
167-
: {
168-
success_redirect_url: data.channelProperties.successRedirectURL,
169-
},
156+
channel_properties: data.channelProperties
157+
? {
158+
mobile_number: data.channelProperties.mobileNumber,
159+
success_redirect_url: data.channelProperties.successRedirectURL,
160+
failure_redirect_url: data.channelProperties.failureRedirectURL,
161+
cancel_redirect_url: data.channelProperties.cancelRedirectURL,
162+
redeem_points: data.channelProperties.redeemPoints,
163+
}
164+
: data.channelProperties,
170165
customer_id: data.customerID,
171166
basket: data.basket
172167
? data.basket.map(product => ({

0 commit comments

Comments
 (0)