From 43d878ff6f33df8a97480070cbdf974859a858b1 Mon Sep 17 00:00:00 2001 From: Djellze Bllaca Date: Tue, 23 Sep 2025 12:02:47 +0200 Subject: [PATCH] BA-903 Add Bizum payment method --- example/transaction/bizum.js | 22 ++++++++++++++++++++++ example/transaction/bizum.ts | 22 ++++++++++++++++++++++ src/PaymentMethods/Bizum/index.ts | 8 ++++++++ src/PaymentMethods/index.ts | 1 + tests/PaymentMethods/Bizum.test.ts | 30 ++++++++++++++++++++++++++++++ 5 files changed, 83 insertions(+) create mode 100644 example/transaction/bizum.js create mode 100644 example/transaction/bizum.ts create mode 100644 src/PaymentMethods/Bizum/index.ts create mode 100644 tests/PaymentMethods/Bizum.test.ts 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(); + }); +});