diff --git a/example/transaction/bizum.js b/example/transaction/bizum.js new file mode 100644 index 0000000..fa1040a --- /dev/null +++ b/example/transaction/bizum.js @@ -0,0 +1,22 @@ +import buckarooClient from '../buckarooClient'; +import { uniqid } from '../../src'; + +const bizum = buckarooClient.method('bizum'); + +//Pay +bizum + .pay({ + amountDebit: 10.1, + invoice: uniqid(), + description: 'Bizum Payment', + }) + .request(); +//Refund +bizum + .refund({ + originalTransactionKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', + amountCredit: 10.1, + invoice: uniqid(), + description: 'Bizum Refund', + }) + .request(); diff --git a/example/transaction/bizum.ts b/example/transaction/bizum.ts new file mode 100644 index 0000000..fa3a19d --- /dev/null +++ b/example/transaction/bizum.ts @@ -0,0 +1,22 @@ +import buckarooClient from '../buckarooClient'; +import { uniqid } from '../../src/Utils'; + +const bizum = buckarooClient.method('bizum'); + +//Pay +bizum + .pay({ + amountDebit: 10.1, + invoice: uniqid(), + description: 'Bizum Payment', + }) + .request(); +//Refund +bizum + .refund({ + originalTransactionKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', + amountCredit: 10.1, + invoice: uniqid(), + description: 'Bizum Refund', + }) + .request(); diff --git a/src/PaymentMethods/Bizum/index.ts b/src/PaymentMethods/Bizum/index.ts new file mode 100644 index 0000000..429124e --- /dev/null +++ b/src/PaymentMethods/Bizum/index.ts @@ -0,0 +1,8 @@ +import { PayablePaymentMethod } from '../../Services'; +import { ServiceCode } from '../../Utils'; + +export default class Bizum extends PayablePaymentMethod { + public defaultServiceCode(): ServiceCode { + return 'bizum'; + } +} diff --git a/src/PaymentMethods/index.ts b/src/PaymentMethods/index.ts index 85d2251..0b9af12 100644 --- a/src/PaymentMethods/index.ts +++ b/src/PaymentMethods/index.ts @@ -7,6 +7,7 @@ export { default as bancontactmrcash } from './Bancontact'; export { default as transfer } from './BankTransfer'; export { default as belfius } from './Belfius'; export { default as billink } from './Billink'; +export { default as bizum } from './Bizum'; export { default as blik } from './Blik'; export { default as buckaroovoucher } from './BuckarooVoucher'; export { default as BuckarooWalletCollecting } from './BuckarooWallet'; diff --git a/tests/PaymentMethods/Bizum.test.ts b/tests/PaymentMethods/Bizum.test.ts new file mode 100644 index 0000000..b84b33e --- /dev/null +++ b/tests/PaymentMethods/Bizum.test.ts @@ -0,0 +1,30 @@ +import { IRefundRequest, PaymentMethodInstance } from '../../src'; +import buckarooClientTest from '../BuckarooClient.test'; +import { createRefundPayload } from '../Payloads'; + +let method: PaymentMethodInstance<'bizum'>; + +beforeEach(() => { + method = buckarooClientTest.method('bizum'); +}); + +describe('Bizum methods', () => { + test('Pay', async () => { + const response = await method + .pay({ + amountDebit: 10, + }) + .request(); + expect(response.isPendingProcessing()).toBeTruthy(); + }); + test('Refund', async () => { + const response = await method + .refund( + createRefundPayload({ + originalTransactionKey: 'E67675BFA22D4198A0BE5889XXXXXXXX', + }) + ) + .request(); + expect(response.isSuccess()).toBeTruthy(); + }); +});