Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
c0c4054
create tests for presta plugin
gentiprenaj Jan 20, 2026
6c82b30
create tests for presta plugin
gentiprenaj Jan 20, 2026
5e26148
fix tests for presta plugin
gentiprenaj Jan 20, 2026
2c46d59
fix payment service
gentiprenaj Jan 20, 2026
62b2498
add tests as workflows in git
gentiprenaj Jan 20, 2026
509013e
fix tests.yml
gentiprenaj Jan 20, 2026
1087ca4
fix tests.yml
gentiprenaj Jan 20, 2026
68f5140
fix tests.yml
gentiprenaj Jan 20, 2026
48c6da0
fix tests.yml
gentiprenaj Jan 20, 2026
804cd9f
fix tests.yml
gentiprenaj Jan 20, 2026
23a93fe
fix tests.yml
gentiprenaj Jan 20, 2026
d9d66fe
fix tests.yml
gentiprenaj Jan 20, 2026
75cc6d4
Merge pull request #234 from buckaroo-it/create-tests-for-presta
gentiprenaj Jan 21, 2026
b49e1b7
co rebranding ideal to ideal wero
gentiprenaj Feb 6, 2026
eb016c4
Merge pull request #235 from buckaroo-it/BTI-100-PrestaShop-Update-iD…
gentiprenaj Feb 9, 2026
3b19509
test refund for plaza
gentiprenaj Feb 10, 2026
cee4ee7
test refund for plaza
gentiprenaj Feb 10, 2026
a7b0f20
test refund for plaza
gentiprenaj Feb 10, 2026
dc4853e
Merge pull request #236 from buckaroo-it/BTI-146-PrestaShop-Refunds-i…
gentiprenaj Feb 11, 2026
b85e8da
Ideal Upgrade file next release
gentiprenaj Feb 11, 2026
5383c10
new refactor for update order state
gentiprenaj Feb 11, 2026
17566a2
Merge pull request #237 from buckaroo-it/Ideal-upgrade-file
gentiprenaj Feb 11, 2026
3d2a9ab
Merge pull request #239 from buckaroo-it/BP-5133-Update-Order-State-M…
gentiprenaj Feb 11, 2026
74dbca7
re build admin for rebranding ideal
gentiprenaj Mar 5, 2026
4a61a5c
re build admin for rebranding ideal
gentiprenaj Mar 5, 2026
01041cf
Giftcard configuration shows incorrect setting
gentiprenaj Mar 5, 2026
24ffcf7
Merge pull request #240 from buckaroo-it/rebrand-ideal-issue
gentiprenaj Mar 5, 2026
8953a4d
Merge branch 'develop' into BTI-109-PrestaShop-Giftcard-configuration…
gentiprenaj Mar 5, 2026
82f5599
Merge pull request #241 from buckaroo-it/BTI-109-PrestaShop-Giftcard-…
gentiprenaj Mar 5, 2026
b98189d
Remove required phone number field for in3 and riverty
gentiprenaj Mar 6, 2026
154a06d
apply only v3 version for in3
gentiprenaj Mar 6, 2026
6e511cf
apply only v3 version for in3
gentiprenaj Mar 6, 2026
5f37652
Merge pull request #242 from buckaroo-it/BTI-645-PrestaShop-Hide-phon…
gentiprenaj Mar 6, 2026
179334c
Merge pull request #243 from buckaroo-it/BTI-644-PrestaShop-Remove-AP…
gentiprenaj Mar 6, 2026
1e7ca11
add google pay as new paymentmethod
gentiprenaj Mar 9, 2026
c3f2aae
add google pay as new paymentmethod
gentiprenaj Mar 10, 2026
503ebea
fix google pay and also add composer changes in vendor
gentiprenaj Mar 12, 2026
9129c54
Merge pull request #245 from buckaroo-it/Add-google-pay
gentiprenaj Mar 12, 2026
5598634
build checkout for gift cards
gentiprenaj Apr 14, 2026
cbbe98f
fix to reduce in checkout for gift cards
gentiprenaj Apr 15, 2026
7b1933a
fix to reduce in checkout for gift cards
gentiprenaj Apr 15, 2026
2aa221a
- apply giftcard deduction in card
gentiprenaj Apr 16, 2026
7af4896
- change action for giftcard template
gentiprenaj Apr 16, 2026
0a77041
feat: add gift card partial payment flow with group transaction persi…
gentiprenaj Apr 16, 2026
93e706f
feat: add gift card partial payment flow with group transaction persi…
gentiprenaj Apr 16, 2026
3b1462d
Merge pull request #247 from buckaroo-it/build-gift-cards-checkout
gentiprenaj Apr 17, 2026
4fcc34b
Redesign payment_in3.tpl and Redesign Riverty/AfterPay billing phone …
gentiprenaj Apr 17, 2026
6e966f0
Merge pull request #248 from buckaroo-it/BTI-645-PrestaShop-Hide-phon…
gentiprenaj Apr 17, 2026
f0fdf47
- fix terms and conditions check box for in3
gentiprenaj Apr 17, 2026
8b1c8a6
Merge pull request #249 from buckaroo-it/BTI-645-PrestaShop-Hide-phon…
gentiprenaj Apr 17, 2026
a0afa98
- fix terms and conditions check box for in3
gentiprenaj Apr 17, 2026
6cf0aa1
fix riverty template
gentiprenaj Apr 21, 2026
2861b08
Merge pull request #252 from buckaroo-it/BTI-735
gentiprenaj Apr 21, 2026
9b3c627
Partial refund if skip key enabled
gentiprenaj Apr 21, 2026
3aea399
test partial refund
gentiprenaj Apr 21, 2026
038bc89
Merge pull request #250 from buckaroo-it/BTI-645-PrestaShop-Hide-phon…
gentiprenaj Apr 21, 2026
a57d8a3
remove unneccessasry logs
gentiprenaj Apr 21, 2026
af9498c
Merge pull request #253 from buckaroo-it/partial-refund-issue
gentiprenaj Apr 21, 2026
2cb00a2
create translation for riverty
gentiprenaj Apr 21, 2026
765b9e9
Merge pull request #255 from buckaroo-it/fix-translation-for-riverty
gentiprenaj Apr 21, 2026
d711822
Merge pull request #254 from buckaroo-it/BTI-866-PrestaShop-Reduce-ex…
gentiprenaj Apr 21, 2026
98d613f
creation of credit slips for full refunds
gentiprenaj Apr 22, 2026
36c8f60
remove financial warning for Billink Klarna Riverty and In3
gentiprenaj Apr 28, 2026
7647f3e
Merge pull request #256 from buckaroo-it/full-refunds-credit-slip
gentiprenaj Apr 28, 2026
aeba720
fix translation for BNPL patment methods
gentiprenaj Apr 28, 2026
2660620
Merge pull request #257 from buckaroo-it/BTI-880-PrestaShop-Remove-fi…
gentiprenaj Apr 28, 2026
68e38c9
fix buckaroo fee to be shown in cart
gentiprenaj Apr 28, 2026
b3dcc76
Merge pull request #258 from buckaroo-it/BTI-875-PrestaShop-Fix-trans…
gentiprenaj Apr 28, 2026
f8199cf
fix handler to not update status for failed refunds
gentiprenaj Apr 28, 2026
3bc2c40
Merge pull request #259 from buckaroo-it/BTI-890-PrestaShop-9-Payment…
gentiprenaj Apr 28, 2026
487c143
fix builder for refunds issue
gentiprenaj Apr 28, 2026
ab9d5fc
Merge pull request #260 from buckaroo-it/BTI-892-PrestaShop-PrestaSho…
gentiprenaj Apr 28, 2026
2510872
paypal option issues
gentiprenaj Apr 28, 2026
35b5b84
test native refunds
gentiprenaj Apr 28, 2026
649a133
push build
gentiprenaj Apr 29, 2026
ba4edf8
Merge pull request #261 from buckaroo-it/BTI-893-Prestashop-PayPal-or…
gentiprenaj Apr 29, 2026
cbe92a9
- fix gender at paypermail
gentiprenaj Apr 30, 2026
adf70c6
Merge pull request #262 from buckaroo-it/fix-translations
gentiprenaj Apr 30, 2026
794a929
Merge pull request #263 from buckaroo-it/BTI-885-PrestaShop-Payment-f…
gentiprenaj Apr 30, 2026
c70a1e5
create change log file and versioning
gentiprenaj May 5, 2026
e69566e
Merge branch 'master' into develop
gentiprenaj May 5, 2026
fbc438f
Merge pull request #265 from buckaroo-it/BTI-773-PrestaShop-Update-Test
gentiprenaj May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 0 additions & 21 deletions .github/workflows/sonarqube.yml

This file was deleted.

47 changes: 47 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Quick Tests

on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
quick-test:
name: Quick Test (PHP 8.3)
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv
coverage: none
tools: composer:v2, phpunit

- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-

- name: Install dev dependencies
run: |
composer install --prefer-dist --no-progress --no-interaction --ignore-platform-reqs --no-scripts || \
composer update phpunit/phpunit --prefer-dist --no-progress --no-interaction --ignore-platform-reqs --prefer-stable

- name: Run Unit Tests (all)
run: phpunit --configuration phpunit.xml --no-coverage --colors=always

- name: Display Results
if: success()
run: |
echo "✅ All tests passed!"
Empty file added .phpunit.result.cache
Empty file.
209 changes: 209 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
# Changelog

All notable changes to the Buckaroo PrestaShop module are documented in this file.

## v5.2.0

### Added
- BTI-605 Add support for Google Pay as a payment method.

### Improved
- BTI-101 Improve order state management logic.
- BTI-644 Remove API version setting for In3 payment method (enforce V3 API).
- BTI-645 Hide phone number field for In3/Riverty transactions when already provided in the address.
- BTI-867 Limit loading of JavaScript files to required PrestaShop pages.
- BTI-866 Reduce excessive logging introduced in v5.1.0.

### Fixed
- BTI-146 Fix issue where refunds initiated from Buckaroo Plaza do not update correctly in PrestaShop 9.
- BTI-109 Fix incorrect gift card configuration label and limited Grouped option in PrestaShop.
- BTI-735 Fix Riverty birth date format and repair broken terms and conditions link.
- BTI-833 Fix refund handling inconsistencies and cart duplication after successful Buckaroo payment.
- BTI-890 Fix payment fee not included in checkout totals but showing after order confirmation.
- BTI-875 Fix translations for BNPL payment methods and remove unnecessary text.

## v5.1.0

### Changed
- BTI-100 Update iDEAL to the co-branded payment method name iDEAL | Wero.

## v5.0.0

### Added
- BP-5140 Add support for the Wero payment method.
- BP-5137 Add support for the Twint payment method.
- BP-5139 Add support for the Bizum payment method.
- BP-5138 Add support for the Swish payment method.
- BP-4522 Add compatibility with PrestaShop 9.
- BP-3688 Introduce support for percentage-based payment fees.

### Improved
- BP-5130 Enhance container service access for PrestaShop 9.0.1.
- BP-4528 Include customer email in gift card transactions to enable retrieval after refunds.
- BP-5131 Improve CSRF token handling compatibility.
- BP-5132 Refactor payment processing to improve error handling.
- BP-5134 Refactor controllers and admin methods to use dependency injection.

### Fixed
- BP-5180 Fix refunds sent to Buckaroo not marked as refunded in PrestaShop.
- BP-5187 Fix order status not updating in admin after a partial refund.
- BP-5146 Fix duplicate payment fee and fee tax lines when switching payment methods.
- BP-5183 Fix error opening product details in PrestaShop 9 caused by BuckarooIdinTabType.
- BP-5145 Fix decimal values not being accepted for payment fees.
- BP-5148 Fix Buckaroo menu item overlapping PrestaShop 9 admin sidebar.
- BP-5210 Fix gift card refund error.
- BP-5147 Fix order totals showing lower than actual amount when using percentage-based payment fees.

## v4.5.0

- BP-3854 Add support for PrestaShop 8.2.0 and 8.2.1.
- BP-4235 Use new payment method logos for PayPerEmail, Transfer, and Giftcard.
- BP-4248 Rebrand Knaken Settle to goSettle.
- BP-4353 Update PHP SDK version used as a base for the plugin.
- BP-4256 Remove iDEAL show issuers option(s).
- BP-3783 Remove Giropay (discontinued).
- BP-4544 Rebrand iDEAL In3 back to In3.
- BP-4566 Add support for Billink V2 API.
- BP-4235 Fix failed/rejected Card payment redirect to payment selection when possible.

## v4.4.0

- BP-3743 Add support for PrestaShop 8.1.7.
- BP-3602 Add payment method Blik.
- BP-3758 Add Blik configs into the upgrade file.
- BP-3636 Add option to enable/disable automatic refunds via Buckaroo Plaza.
- BP-3672 Rename payment method Riverty/Afterpay to Riverty.
- BP-3713 Update payment method logo from Riverty/Afterpay to Riverty.
- BP-3691 Security enhancement for Axios requests.
- BP-3744 Fix missing translation for Riverty min/max order amount when using combined B2C/B2B.

## v4.3.0

- Add support for PrestaShop 8.1.6.
- BP-3506 Fix API stopped working error 2006.
- BP-3431 Fix prevention of transaction requests without selecting an issuer.
- BP-3480 Fix follow-redirects Proxy-Authorization header kept across hosts.
- BP-3509 Fix status changed from in backorder not paid to paid with backorders.
- BP-3482 Fix payment fee not visible in some places.
- BP-3520 Fix PrestaShop language support.
- BP-3512 Remove logo selection for In3 and iDEAL In3.
- BP-3503 Remove payment method Tinka.

## v4.2.0

- BP-3432 Add support for PrestaShop 8.1.4.
- BP-3439 Add product image URLs for Riverty/AfterPay invoices.
- BP-3464 Add payment method Knaken Settle.
- BP-3456 Update payment method logos.
- BP-3455 Remove button display type setting for cards.
- BP-3459 Remove old Mister Cash name references for Bancontact.
- BP-3431 Fix prevention of transaction requests without selecting an issuer.
- BP-3429 Fix new installation SQL errors caused by older MySQL versions.
- BP-3359 Fix Vite dev server option.
- BP-3419 Fix iDEAL without issuer not sending ContinueOnIncomplete (iDEAL 2.0 backward compatibility).
- BP-3410 Fix duplicate order when Buckaroo payment fails.
- BP-3478 Fix payment fee configuration causing error 500 for payment attempts (Klarna, Billink, Riverty).
- BP-3473 Fix status changed from in backorder not payed to payed instead of in backorder (paid).
- BP-3472 Fix inability to use decimals for payment fee settings.

## v4.1.1

- BP-3353 Enhanced security update.
- BP-3355 Fix Billink error: No recipient category found.

## v4.1.0

- Compatible from PrestaShop 1.7.x up to 8.1.2.
- BP-2985 Add payment method Multibanco.
- BP-3016 Add payment method MB WAY.
- BP-3091 Add financial warning setting for BNPL methods.
- BP-3108 Improve visuals for PayByBank, iDEAL, and CreditCards.
- BP-2995 and BP-3055 In3 V3 API improvements.
- BP-3028 Remove BIC/IBAN fields for Giropay.
- BP-3147 Add option to hide iDEAL issuer selection (iDEAL 2.0 preparation).
- BP-3131 Improve/refactor parts of the code.
- BP-3233 Update Revolut logos.
- BP-3264 Fix Klarna payment method name.
- BP-3271 Remove unsupported bank logos for Pay By Bank.
- BP-3275 Change Klarna payment flow.
- BP-3038 Fix Tinka frontend error.
- BP-3104 Fix payment methods visibility by specific countries.
- BP-3216 Fix modal CSS class overriding PrestaShop CSS settings.
- BP-3160 Fix Klarna transaction error: Configuration not found for Payment ID.
- BP-3241 Fix refunds for some payment methods from PrestaShop admin area.

## v4.0.1

- BP-3043 Fix issue creating products.

## v4.0.0

### Important
- This release introduced major code and design changes.
- Upgrade from older major versions was not supported; a clean installation was required.

### Added and Changed
- Compatible from PrestaShop 1.7.x up to 8.1.2.
- Plugin architecture and UI were fully refactored.
- Added direct refund initiation from PrestaShop admin to Buckaroo Plaza.
- Added payment method ordering by country.
- Added fixed and percentage payment fee configuration.
- Added min/max order amount display conditions for payment methods.
- Added support for PayPal Seller Protection.
- Updated iDEAL issuers (YourSafe, N26, Nationale Nederlanden).
- Added payment methods: Apple Pay, Alipay, Billink, EPS, In3 (V3 API), PayByBank, Payconiq, PayPerEmail, Przelewy24, Trustly, Tinka, WeChat Pay.
- Added card brands: Maestro, VISA Elektron, Carte Bancaire, Carte Bleue, Nexi, Dankort.
- Switched payment logos from PNG to SVG.
- Renamed Creditcards to Credit and debit card.
- Updated software header version reporting in Buckaroo requests.

### Fixed
- BP-1319 Fix empty cart on browser back with Klarna and PayPal.
- BP-2419 Fix SEPA payments.
- BP-2420 Fix redirect failures.
- BP-2476 Fix Riverty/AfterPay payment method.
- BP-2615 Fix Keep Cart Alive issues.
- BP-2577 Fix configuration page save behavior.
- BP-2741 Fix refund issue redirecting to internal server error 500.
- BP-2746 Fix partial refund issues.

## v3.4.0

- SQL error fix when no refund transaction is available.
- BP-1328 Fix wrong refund value when previous refund value was modified.
- BP-1327 Fix missing validation message for payment fields in checkout.
- BP-1321 Fix various UI problems.
- BP-1320 Add cookie SameSite switch.
- BP-1322 Fix refund message.
- BP-1354 Fix issues after installation.
- BP-1318 Fix warnings and notices during install and payment.
- BP-1232 Fix session issue with PrestaShop 1.7.8.2.
- BP-1233 Fix failed second request in partial refund flow.
- BP-1189 Update Sofort logo.
- Improve release archive packaging.
- Remove duplicate language setting.
- BP-1138 Fix reported errors and warnings.
- BP-1081 Fix payment fee not included in payment.
- BP-1092 Fix Klarna phone parameter problem.
- BP-1066 Fix order status not changing automatically.
- BP-987 Update SOAP certificate.

## v3.3.10

- BP-1041 Add translation for IDIN.
- BP-1033 Fix Klarna not working for a specific merchant.
- Fix icon path.
- Change icon size to 32x24.

## v3.3.9

- BP-820 Add payment method Belfius.
- BP-804 Add verification method iDIN (age verification).
- BP-919 Fix error notices in module settings.
- BP-908 Fix Buckaroo payments and refunds tab display issue.
- BP-909 Fix iDIN state not being remembered after successful identification.
- BP-920 Fix partial refund being impossible.
- BP-970 Add CreditCard brand PostePay.
- BP-965 Fix Plaza refunds not visible in PrestaShop.
- BP-941 Fix PayPal V2 cancellation returning to homepage.
- BP-948 Fix payment methods not working/visible.
25 changes: 0 additions & 25 deletions api/log/index.php

This file was deleted.

7 changes: 7 additions & 0 deletions api/paymentmethods/giftcard/giftcard.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ public function pay($customVars = [])
return parent::executeCustomPayAction('payRedirect');
}

public function payDirect($customVars = [])
{
$this->payload = $this->getPayload($customVars);

return parent::executeCustomPayAction('pay');
}

public function getPayload($data)
{
return array_merge_recursive($this->payload, $data);
Expand Down
46 changes: 46 additions & 0 deletions api/paymentmethods/googlepay/googlepay.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?php
/**
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* It is available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this file
*
* @author Buckaroo.nl <plugins@buckaroo.nl>
* @copyright Copyright (c) Buckaroo B.V.
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/

if (!defined('_PS_VERSION_')) {
exit;
}

require_once dirname(__FILE__) . '/../paymentmethod.php';

class GooglePay extends PaymentMethod
{
public function __construct()
{
$this->type = 'googlepay';
$this->version = 1;
}

public function getPayload($data)
{
return array_merge_recursive($this->payload, $data);
}

public function pay($customVars = [])
{
// Merge Google Pay–specific custom variables (e.g. paymentData, customerCardName)
// into the base payload and use the standard "pay" action.
$this->payload = $this->getPayload($customVars);

return $this->payGlobal();
}
}

10 changes: 8 additions & 2 deletions api/paymentmethods/paymentmethod.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ public function payGlobal($customPayAction = null)
{
(!$customPayAction) ? $payAction = 'pay' : $payAction = $customPayAction;

$this->payload = array_merge([
$basePayload = [
'currency' => $this->currency,
'amountDebit' => $this->amountDebit,
'invoice' => $this->invoiceId,
Expand All @@ -97,7 +97,13 @@ public function payGlobal($customPayAction = null)
'moduleVersion' => $this->moduleVersion,
'moduleSupplier' => $this->moduleSupplier,
'moduleName' => $this->moduleName,
], $this->payload);
];

if (!empty($this->OriginalTransactionKey)) {
$basePayload['originalTransactionKey'] = $this->OriginalTransactionKey;
}

$this->payload = array_merge($basePayload, $this->payload);

$buckaroo = $this->getBuckarooClient(Config::getMode($this->type));
// Pay
Expand Down
Loading
Loading