Skip to content

Commit

Permalink
Merge pull request #200 from cassiewang/feat/pr-fields
Browse files Browse the repository at this point in the history
feat: Support additional payment request fields
  • Loading branch information
sekaranglila committed Jun 23, 2023
2 parents 1ed9e72 + 150ce73 commit a4a0652
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 8 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1666,6 +1666,10 @@ r.createPaymentRequest(data: {
payment_method: object;
channel_properties?: PaymentRequestChannelProperties;
metadata?: object;
payment_method_id?: string;
shipping_information?: object;
initiator?: PaymentRequestInitiator;
capture_method?: PaymentRequestCaptureMethod;
idempotency_key?: string;
for_user_id?: string;
})
Expand Down
28 changes: 21 additions & 7 deletions src/payment_request/payment_request.d.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,31 @@
import { XenditOptions } from '../xendit_opts';

enum PaymentRequestCurrencies {
export enum PaymentRequestCurrencies {
IDR = 'IDR',
PHP = 'PHP',
}

enum PaymentRequestCountries {
export enum PaymentRequestCountries {
ID = 'ID',
PH = 'PH',
}

enum PaymentRequestRedeemPoints {
export enum PaymentRequestInitiator {
Customer = 'CUSTOMER',
Merchant = 'MERCHANT',
}

export enum PaymentRequestCaptureMethod {
Automatic = 'AUTOMATIC',
Manual = 'MANUAL',
}

export enum PaymentRequestRedeemPoints {
RedeemNone = 'REDEEM_NONE',
RedeemAll = 'REDEEM_ALL',
}

enum PaymentRequestType {
export enum PaymentRequestType {
Card = 'CARD',
EWallet = 'EWALLET',
DirectDebit = 'DIRECT_DEBIT',
Expand All @@ -24,7 +34,7 @@ enum PaymentRequestType {
VirtualAccount = 'VIRTUAL_ACCOUNT',
}

enum PaymentRequestStatuses {
export enum PaymentRequestStatuses {
Succeeded = 'SUCCEEDED',
Failed = 'FAILED',
Pending = 'PENDING',
Expand All @@ -50,11 +60,15 @@ export = class PaymentRequest {
amount: number;
reference_id?: string;
customer_id?: string;
country: PaymentRequestCountries;
country?: PaymentRequestCountries;
description?: string;
payment_method: object;
payment_method?: object;
channel_properties?: PaymentRequestChannelProperties;
metadata?: object;
payment_method_id?: string;
shipping_information?: object;
initiator?: PaymentRequestInitiator;
capture_method?: PaymentRequestCaptureMethod;
idempotency_key?: string;
for_user_id?: string;
}): Promise<object>;
Expand Down
6 changes: 5 additions & 1 deletion src/payment_request/payment_request.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ PaymentRequest._constructorWithInjectedXenditOpts = function(options) {

PaymentRequest.prototype.createPaymentRequest = function(data) {
return promWithJsErr((resolve, reject) => {
Validate.rejectOnMissingFields(['currency', 'amount'], data, reject);
Validate.rejectOnMissingFields(['amount'], data, reject);

let headers = {
Authorization: Auth.basicAuthHeader(this.opts.secretKey),
Expand Down Expand Up @@ -57,6 +57,10 @@ PaymentRequest.prototype.createPaymentRequest = function(data) {
payment_method: data.payment_method,
channel_properties: data.channel_properties,
metadata: data.metadata,
payment_method_id: data.payment_method_id,
capture_method: data.capture_method,
shipping_information: data.shipping_information,
initiator: data.initiator,
}),
})
.then(resolve)
Expand Down

0 comments on commit a4a0652

Please sign in to comment.