Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions samples/payment/CompleteBnplLimitInquiry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const Craftgate = require('../../dist');
const ApmType = require('../../src/model/ApmType');

const craftgate = new Craftgate.Client({
apiKey: 'api-key',
secretKey: 'secret-key',
baseUrl: 'https://sandbox-api.craftgate.io'
});

craftgate.payment().bnplLimitInquiry({
apmType: ApmType.Zip,
additionalParams: {
buyerPhoneNumber: '+905320000000',
otpCode: '123456'
}
})
.then(results => console.info('Complete BNPL limit inquiry response ', results))
.catch(err => console.error('Failed to complete BNPL limit inquiry', err));
19 changes: 19 additions & 0 deletions samples/payment/InitBnplLimitInquiry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const Craftgate = require('../../dist');
const ApmType = require('../../src/model/ApmType');

const craftgate = new Craftgate.Client({
apiKey: 'api-key',
secretKey: 'secret-key',
baseUrl: 'https://sandbox-api.craftgate.io'
});

craftgate.payment().bnplLimitInquiryInit({
apmType: ApmType.Zip,
additionalParams: {
buyerPhoneNumber: '5320000000',
buyerIdentityNumber: '11111111110',
buyerBirthdate: '1990-01-01'
}
})
.then(results => console.info('Init BNPL limit inquiry response ', results))
.catch(err => console.error('Failed to init BNPL limit inquiry', err));
11 changes: 11 additions & 0 deletions src/adapter/PaymentAdapter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import ApprovePaymentTransactionsRequest from '../request/ApprovePaymentTransact
import BnplPaymentOfferRequest from '../request/BnplPaymentOfferRequest';
import CloneCardRequest from '../request/CloneCardRequest';
import CompleteApmPaymentRequest from '../request/CompleteApmPaymentRequest';
import CompleteBnplLimitInquiryRequest from '../request/CompleteBnplLimitInquiryRequest';
import CompletePosApmPaymentRequest from '../request/CompletePosApmPaymentRequest';
import CompleteThreeDSPaymentRequest from '../request/CompleteThreeDSPaymentRequest';
import CreateApmPaymentRequest from '../request/CreateApmPaymentRequest';
Expand All @@ -16,6 +17,7 @@ import DeleteStoredCardRequest from '../request/DeleteStoredCardRequest';
import DisapprovePaymentTransactionsRequest from '../request/DisapprovePaymentTransactionsRequest';
import InitApmDepositPaymentRequest from '../request/InitApmDepositPaymentRequest';
import InitApmPaymentRequest from '../request/InitApmPaymentRequest';
import InitBnplLimitInquiryRequest from '../request/InitBnplLimitInquiryRequest';
import InitBnplPaymentRequest from '../request/InitBnplPaymentRequest';
import InitCheckoutCardVerifyRequest from '../request/InitCheckoutCardVerifyRequest';
import InitCheckoutPaymentRequest from '../request/InitCheckoutPaymentRequest';
Expand All @@ -37,6 +39,7 @@ import UpdatePaymentTransactionRequest from '../request/UpdatePaymentTransaction
import VerifyCardRequest from '../request/VerifyCardRequest';

import ApmDepositPaymentResponse from '../response/ApmDepositPaymentResponse';
import BnplLimitInquiryResponse from '../response/BnplLimitInquiryResponse';
import BnplPaymentOfferResponse from '../response/BnplPaymentOfferResponse';
import BnplPaymentVerifyResponse from '../response/BnplPaymentVerifyResponse';
import CompleteApmPaymentResponse from '../response/CompleteApmPaymentResponse';
Expand Down Expand Up @@ -244,6 +247,14 @@ export default class PaymentAdapter extends BaseAdapter {
return this._client.post(`/payment/v1/bnpl-payments/${paymentId}/verify`);
}

async bnplLimitInquiryInit(request: InitBnplLimitInquiryRequest): Promise<BnplLimitInquiryResponse> {
return this._client.post(`/payment/v1/bnpl-payments/limit-inquiry/init`, request);
}

async bnplLimitInquiry(request: CompleteBnplLimitInquiryRequest): Promise<BnplLimitInquiryResponse> {
return this._client.post(`/payment/v1/bnpl-payments/limit-inquiry`, request);
}

async retrieveActiveBanks(): Promise<InstantTransferBanksResponse> {
return this._client.get(`/payment/v1/instant-transfer-banks`);
}
Expand Down
3 changes: 2 additions & 1 deletion src/model/ApmType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ enum ApmType {
PaycellDCB = 'PAYCELL_DCB',
IWallet = 'IWALLET',
Papel = 'PAPEL',
Paymob = 'PAYMOB'
Paymob = 'PAYMOB',
Zip = 'ZIP'
}

export default ApmType;
12 changes: 12 additions & 0 deletions src/request/CompleteBnplLimitInquiryRequest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import ApmType from '../model/ApmType';

type CompleteBnplLimitInquiryRequest = {
apmType: ApmType;
merchantApmId: number;
additionalParams: {
buyerPhoneNumber: string;
otpCode: string;
};
};

export default CompleteBnplLimitInquiryRequest;
13 changes: 13 additions & 0 deletions src/request/InitBnplLimitInquiryRequest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import ApmType from '../model/ApmType';

type InitBnplLimitInquiryRequest = {
apmType: ApmType;
merchantApmId: number;
additionalParams: {
buyerPhoneNumber: string;
buyerIdentityNumber: string;
buyerBirthdate: string;
};
};

export default InitBnplLimitInquiryRequest;
12 changes: 12 additions & 0 deletions src/response/BnplLimitInquiryResponse.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import ApmAdditionalAction from '../model/ApmAdditionalAction';
import PaymentStatus from '../model/PaymentStatus';

type BnplLimitInquiryResponse = {
paymentStatus: PaymentStatus;
apmAdditionalAction: ApmAdditionalAction;
additionalData?: Map<string, any>;
errorCode: string;
errorMessage: string;
};

export default BnplLimitInquiryResponse;
Loading