15 Commits
2.9 ... 3.2

Author SHA1 Message Date
Wouter van Os
8352ca7b32 feat: fix payment ID length
The current value is too small, increasing it to 64 bytes.
2025-06-24 16:07:00 +02:00
Wouter van Os
bf67c41604 feat: implement iDeal 2.0 support
Untested & draft, but this change should implement iDeal 2.0. The only thing I've heard is that we should remove issuer selection.
2024-12-17 11:41:34 +01:00
Wouter van Os
4e3fc4f1cb feat: extend bank transfers to 100 days validity 2021-10-26 14:30:59 +02:00
Wouter van Os
f3378c5181 Merge pull request #80 from adrijanb/remove_ing
Remove ING Home Pay
2021-02-16 09:26:13 +01:00
Adrijan Bajrami
b70fec170f Remove ING Home Pay 2021-02-15 01:08:18 +01:00
Wouter van Os
f107379191 Update dependencies to latest versions 2020-09-30 10:42:16 +02:00
Sven.v.r
e5b27108f7 Update + Fix Gruzzle (Working for WHMCS 8.0.0 Beta3) (#66)
Update (Working for WHMCS 8.0.0 Beta3).
Tested With PHP 7.3 & 7.4
2020-08-19 13:59:17 +02:00
Wouter van Os
88446ee9a3 Add fallback for checkout 2020-05-25 17:50:16 +02:00
Wouter van Os
8f8aee016d Added some fancy badges. 2020-05-25 16:52:35 +02:00
Wouter van Os
f01ce080a4 Linked to WHMCS versioning table 2020-05-25 15:50:08 +02:00
Wouter van Os
ed2cb8da15 Renamed file to download in README 2020-05-25 15:47:37 +02:00
Wouter van Os
3b5df871b8 Updated plugin to gateway 2020-05-25 15:43:00 +02:00
Wouter van Os
4c31da5ba3 Added support for the Mollie Payments checkout page 2020-05-25 15:42:05 +02:00
Wouter van Os
baf13db08b Rewritten to English 2020-05-25 15:39:52 +02:00
Wouter van Os
16f333c39c Rename module to WHMCS Mollie Payments
This to better separate the 2 different Mollie services: Payments and Recurring.
2020-04-01 11:54:13 +02:00
7 changed files with 154 additions and 92 deletions

View File

@@ -1,41 +1,21 @@
# WHMCS Mollie Gateway # WHMCS Mollie Payments gateway ![GitHub All Releases](https://img.shields.io/github/downloads/0100Dev/WHMCS-Mollie-Payments/total) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/0100Dev/WHMCS-Mollie-Payments)
Onofficiële Mollie gateway voor WHMCS. In deze gratis plugin zit GEEN ondersteuning voor Mollie Recurring (SEPA/Automatisch Incasso). Hiervoor hebben we een [betaalde](https://0100dev.nl/modules/whmcs#WHMCS%20Mollie%20Recurring) plugin. Deze plugins zijn niet afhankelijk van elkaar en kunnen naast elkaar opereren maar ook zonder elkaar. Unofficial Mollie Payments gateway for WHMCS. This free gateway does NOT support Mollie Recurring, only Molie Payments. For Mollie Recurring we have a [paid](https://0100dev.nl/modules/whmcs#WHMCS%20Mollie%20Recurring) gateway. These gateways are not dependent on each other and can operate side by side, but also without each other.
Compatible met **alle** WHMCS versies. Compatible with **all** WHMCS versions that are [supported by WHMCS](https://docs.whmcs.com/Long_Term_Support#WHMCS_Version_.26_LTS_Schedule).
### Installatie via SSH ### Installation
+ Log in op SSH (of console) en zorg dat GIT geinstalleerd is op uw webserver. + Log in to your (s)FTP.
+ Ga naar een tijdelijke folder (bijvoorbeeld `/tmp`) en voer het onderstaande commando uit. + Download the `WHMCS-Mollie-Payments.zip` from the [releases page](https://github.com/0100Dev/WHMCS-Mollie/releases) (**PLEASE NOTE:** **not** `Source code (zip)` or `Source code (tar.gz)`!).
+ ``` git clone https://github.com/0100Dev/WHMCS-Mollie.git``` + Upload all the files from the `src` folder to the `/modules/gateways` folder in your WHMCS installation.
+ Ga in de `WHMCS-Mollie` folder die zojuist met het vorige commando aangemaakt is.
+ Installeer Composer op de webserver of volg de instructies [hier](https://getcomposer.org/download/) en voer daarna het onderstaande commando uit.
+ ```composer install```
+ Ga naar de root van de WHMCS installatie (de hoofd folder) en dan naar `modules/gateways`.
+ Kopieer nu alles uit de `WHMCS-Mollie/src` folder van enkele stappen terug naar de huidige folder.
### Installatie via FTP ### Payment Methodes
+ Log in op FTP. All payment methods from Mollie are supported (which is also supported by their API). Enable the desired payment methods by activating the gateway in WHMCS.
+ Download de `whmcs-mollie.tar.gz` van onze [releases pagina](https://github.com/0100Dev/WHMCS-Mollie/releases) (**LET OP:** **niet** `Source code (zip)` of `Source code (tar.gz)`!).
+ Upload alles uit de `src` folder uit de hierboven gedownloaden TAR in de `/modules/gateways` folder van uw WHMCS installatie.
### Betaalmethodes Support for new payment methods must be added manually, due to the structure of this gateway. It can therefore take a while before a new payment method is supported. Is it urgent? Contact our paid support or add support for it yourself and contribute it back using a pull request.
Alle betaalmethodes van Mollie zijn ondersteund (welke ook door hun API ondersteund word). Zet de gewenste betaalmethodes aan door de gateway in WHMCS te activeren.
Betaalmethodes moeten door de structuur van deze gateway handmatig toegevoegd worden. Het kan dus even duren voordat een betaalmethode toegevoegd word. Heeft het haast? Zie het kopje Support. You can use `Mollie Checkout` to use the Mollie Payments checkout pages. In this case it'll use the Mollie Payments checkout screen and show all enabled payment methodes in your Mollie account.
### Updates
#### Naar V2.0 of hoger
Deze release is NIET compatible met V1.x. Verwijder eerst alle files vanuit je /modules/gateways folder die betrekking hebben op deze gateway. Alles dus met mollie_x.php. In WHMCS dien je ook opnieuw deze gateways in te schakelen. WHMCS zal aangeven dat de ouded gateways niet meer gevonden kunnen worden, dit klopt - verwijder deze en vervang deze met de nieuw ingeschakelde.
Let erop dat je bijvoorbeeld NIET onze mollierecurring.php moet verwijderen, als je onze betaalde Mollie Recurring gateway actief hebt.
#### Naar V2.5 of hoger
In deze release zijn de betaalmethodes KBC/CBC, ING Home'Pay, Giropay, Giftcards en EPS erbij gekomen. Verder is de gateway vernieuwd van een modernere package manager en is Mistercash van naam veranderd naar Bancontact.
U kunt de files uploaden en simpelweg overschrijven (zie instructie bij Installatie), maar zorg wel dat u de oude Bancontact/Mistercash gateway uitschakeld en de nieuwe inschakeld als Bancontact.
### Support ### Support
Support op basis van best-effort in Github via haar issuetracker. Business support (reactietijd van max. 24 uur, normaliter <1 uur) via ons [klantenpaneel](https://my.0100dev.nl/) tegen ons uurtarief a € 45,- excl. VAT. Maak een account aan en stuur via daar een ticket in. Support is best-effort through the Github issue tracker. Business support (responsetime within 24 hours, normally less then 1 hour) through our [website](https://0100dev.nl/) against our hourly rate at75,- excl. VAT. Please create an account at our website before contacting us.
[Meer informatie via Mollie](https://www.mollie.nl/betaaldiensten/) [More information through Mollie about Mollie Payments](https://www.mollie.com/en/payments)

171
composer.lock generated
View File

@@ -8,27 +8,27 @@
"packages": [ "packages": [
{ {
"name": "composer/ca-bundle", "name": "composer/ca-bundle",
"version": "1.1.4", "version": "1.2.8",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/ca-bundle.git", "url": "https://github.com/composer/ca-bundle.git",
"reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" "reference": "8a7ecad675253e4654ea05505233285377405215"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215",
"reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", "reference": "8a7ecad675253e4654ea05505233285377405215",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-openssl": "*", "ext-openssl": "*",
"ext-pcre": "*", "ext-pcre": "*",
"php": "^5.3.2 || ^7.0" "php": "^5.3.2 || ^7.0 || ^8.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8",
"psr/log": "^1.0", "psr/log": "^1.0",
"symfony/process": "^2.5 || ^3.0 || ^4.0" "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -60,48 +60,56 @@
"ssl", "ssl",
"tls" "tls"
], ],
"time": "2019-01-28T09:30:10+00:00" "time": "2020-08-23T12:54:47+00:00"
}, },
{ {
"name": "guzzlehttp/guzzle", "name": "guzzlehttp/guzzle",
"version": "6.3.3", "version": "7.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/guzzle.git", "url": "https://github.com/guzzle/guzzle.git",
"reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" "reference": "7edeaa528fbb57123028bd5a76b9ce9540194e26"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7edeaa528fbb57123028bd5a76b9ce9540194e26",
"reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", "reference": "7edeaa528fbb57123028bd5a76b9ce9540194e26",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-json": "*",
"guzzlehttp/promises": "^1.0", "guzzlehttp/promises": "^1.0",
"guzzlehttp/psr7": "^1.4", "guzzlehttp/psr7": "^1.6.1",
"php": ">=5.5" "php": "^7.2.5",
"psr/http-client": "^1.0"
},
"provide": {
"psr/http-client-implementation": "1.0"
}, },
"require-dev": { "require-dev": {
"ext-curl": "*", "ext-curl": "*",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", "php-http/client-integration-tests": "dev-phpunit8",
"psr/log": "^1.0" "phpunit/phpunit": "^8.5.5",
"psr/log": "^1.1"
}, },
"suggest": { "suggest": {
"ext-curl": "Required for CURL handler support",
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
"psr/log": "Required for using the Log middleware" "psr/log": "Required for using the Log middleware"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "6.3-dev" "dev-master": "7.1-dev"
} }
}, },
"autoload": { "autoload": {
"files": [
"src/functions_include.php"
],
"psr-4": { "psr-4": {
"GuzzleHttp\\": "src/" "GuzzleHttp\\": "src/"
} },
"files": [
"src/functions_include.php"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@@ -112,6 +120,11 @@
"name": "Michael Dowling", "name": "Michael Dowling",
"email": "mtdowling@gmail.com", "email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling" "homepage": "https://github.com/mtdowling"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://sagikazarmark.hu"
} }
], ],
"description": "Guzzle is a PHP HTTP client library", "description": "Guzzle is a PHP HTTP client library",
@@ -122,30 +135,32 @@
"framework", "framework",
"http", "http",
"http client", "http client",
"psr-18",
"psr-7",
"rest", "rest",
"web service" "web service"
], ],
"time": "2018-04-22T15:46:56+00:00" "time": "2020-09-22T09:10:04+00:00"
}, },
{ {
"name": "guzzlehttp/promises", "name": "guzzlehttp/promises",
"version": "v1.3.1", "version": "1.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/promises.git", "url": "https://github.com/guzzle/promises.git",
"reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" "reference": "60d379c243457e073cff02bc323a2a86cb355631"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631",
"reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", "reference": "60d379c243457e073cff02bc323a2a86cb355631",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.5.0" "php": ">=5.5"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.0" "symfony/phpunit-bridge": "^4.4 || ^5.1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -176,37 +191,41 @@
"keywords": [ "keywords": [
"promise" "promise"
], ],
"time": "2016-12-20T10:07:11+00:00" "time": "2020-09-30T07:37:28+00:00"
}, },
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"version": "1.5.2", "version": "1.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/psr7.git", "url": "https://github.com/guzzle/psr7.git",
"reference": "9f83dded91781a01c63574e387eaa769be769115" "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3",
"reference": "9f83dded91781a01c63574e387eaa769be769115", "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.4.0", "php": ">=5.4.0",
"psr/http-message": "~1.0", "psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5" "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
}, },
"provide": { "provide": {
"psr/http-message-implementation": "1.0" "psr/http-message-implementation": "1.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" "ext-zlib": "*",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.5-dev" "dev-master": "1.7-dev"
} }
}, },
"autoload": { "autoload": {
@@ -243,20 +262,20 @@
"uri", "uri",
"url" "url"
], ],
"time": "2018-12-04T20:46:45+00:00" "time": "2020-09-30T07:37:11+00:00"
}, },
{ {
"name": "mollie/mollie-api-php", "name": "mollie/mollie-api-php",
"version": "v2.10.0", "version": "v2.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/mollie/mollie-api-php.git", "url": "https://github.com/mollie/mollie-api-php.git",
"reference": "151bdb85c325f6768452a3d8461930589be85729" "reference": "bc44a7417a734b92a770213b9f0dc6642e7b5a3c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/151bdb85c325f6768452a3d8461930589be85729", "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/bc44a7417a734b92a770213b9f0dc6642e7b5a3c",
"reference": "151bdb85c325f6768452a3d8461930589be85729", "reference": "bc44a7417a734b92a770213b9f0dc6642e7b5a3c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -264,7 +283,7 @@
"ext-curl": "*", "ext-curl": "*",
"ext-json": "*", "ext-json": "*",
"ext-openssl": "*", "ext-openssl": "*",
"guzzlehttp/guzzle": "^6.3", "guzzlehttp/guzzle": "^6.3 || ^7.0",
"php": ">=5.6" "php": ">=5.6"
}, },
"require-dev": { "require-dev": {
@@ -293,6 +312,7 @@
"description": "Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.", "description": "Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.",
"homepage": "https://www.mollie.com/en/developers", "homepage": "https://www.mollie.com/en/developers",
"keywords": [ "keywords": [
"Apple Pay",
"CBC", "CBC",
"Przelewy24", "Przelewy24",
"api", "api",
@@ -328,7 +348,56 @@
"sofortbanking", "sofortbanking",
"subscriptions" "subscriptions"
], ],
"time": "2019-05-20T09:07:29+00:00" "time": "2020-09-17T13:56:43+00:00"
},
{
"name": "psr/http-client",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-client.git",
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"shasum": ""
},
"require": {
"php": "^7.0 || ^8.0",
"psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP clients",
"homepage": "https://github.com/php-fig/http-client",
"keywords": [
"http",
"http-client",
"psr",
"psr-18"
],
"time": "2020-06-29T06:28:15+00:00"
}, },
{ {
"name": "psr/http-message", "name": "psr/http-message",
@@ -382,24 +451,24 @@
}, },
{ {
"name": "ralouphie/getallheaders", "name": "ralouphie/getallheaders",
"version": "2.0.5", "version": "3.0.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/ralouphie/getallheaders.git", "url": "https://github.com/ralouphie/getallheaders.git",
"reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" "reference": "120b605dfeb996808c31b6477290a714d356e822"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", "reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3" "php": ">=5.6"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~3.7.0", "php-coveralls/php-coveralls": "^2.1",
"satooshi/php-coveralls": ">=1.0" "phpunit/phpunit": "^5 || ^6.5"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@@ -418,7 +487,7 @@
} }
], ],
"description": "A polyfill for getallheaders.", "description": "A polyfill for getallheaders.",
"time": "2016-02-11T07:05:27+00:00" "time": "2019-03-08T08:55:37+00:00"
} }
], ],
"packages-dev": [], "packages-dev": [],

View File

@@ -31,6 +31,9 @@ if (isset($_POST['id'])) {
$method = $transaction['method']; $method = $transaction['method'];
if (empty($method)) {
$method = 'checkout';
}
$_GATEWAY = getGatewayVariables('mollie' . $method . '_devapp'); $_GATEWAY = getGatewayVariables('mollie' . $method . '_devapp');

View File

@@ -23,3 +23,4 @@ $_GATEWAYLANG['payWithInghomepay'] = 'Betaal met ING Home\'Pay';
$_GATEWAYLANG['payWithKbc'] = 'Betaal met KBC/CBC-betaalknop'; $_GATEWAYLANG['payWithKbc'] = 'Betaal met KBC/CBC-betaalknop';
$_GATEWAYLANG['payWithPrzelewy24'] = 'Betaal met Przelewy24'; $_GATEWAYLANG['payWithPrzelewy24'] = 'Betaal met Przelewy24';
$_GATEWAYLANG['payWithApplepay'] = 'Betaal met Apple Pay'; $_GATEWAYLANG['payWithApplepay'] = 'Betaal met Apple Pay';
$_GATEWAYLANG['payWith'] = 'Betaal met Mollie';

View File

@@ -23,3 +23,4 @@ $_GATEWAYLANG['payWithInghomepay'] = 'Pay with ING Home\'Pay';
$_GATEWAYLANG['payWithKbc'] = 'Pay with KBC/CBC Payment Button'; $_GATEWAYLANG['payWithKbc'] = 'Pay with KBC/CBC Payment Button';
$_GATEWAYLANG['payWithPrzelewy24'] = 'Pay with Przelewy24'; $_GATEWAYLANG['payWithPrzelewy24'] = 'Pay with Przelewy24';
$_GATEWAYLANG['payWithApplepay'] = 'Pay with Apple Pay'; $_GATEWAYLANG['payWithApplepay'] = 'Pay with Apple Pay';
$_GATEWAYLANG['payWith'] = 'Pay with Mollie';

View File

@@ -41,7 +41,13 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
$tableCheckQuery = full_query('SHOW TABLES LIKE \'gateway_mollie\''); $tableCheckQuery = full_query('SHOW TABLES LIKE \'gateway_mollie\'');
if (mysql_num_rows($tableCheckQuery) != 1) { if (mysql_num_rows($tableCheckQuery) != 1) {
full_query('CREATE TABLE IF NOT EXISTS `gateway_mollie` (`id` int(11) NOT NULL AUTO_INCREMENT, `paymentid` varchar(15), `amount` double NOT NULL, `currencyid` int(11) NOT NULL, `ip` varchar(50) NOT NULL, `userid` int(11) NOT NULL, `invoiceid` int(11) NOT NULL, `status` ENUM(\'open\',\'paid\',\'closed\') NOT NULL DEFAULT \'open\', `method` VARCHAR(25) NOT NULL, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `paymentid` (`paymentid`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;'); full_query('CREATE TABLE IF NOT EXISTS `gateway_mollie` (`id` int(11) NOT NULL AUTO_INCREMENT, `paymentid` varchar(64), `amount` double NOT NULL, `currencyid` int(11) NOT NULL, `ip` varchar(50) NOT NULL, `userid` int(11) NOT NULL, `invoiceid` int(11) NOT NULL, `status` ENUM(\'open\',\'paid\',\'closed\') NOT NULL DEFAULT \'open\', `method` VARCHAR(25) NOT NULL, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `paymentid` (`paymentid`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;');
}
$paymentIdQuery = full_query("SHOW COLUMNS FROM `gateway_mollie` WHERE `Field` = 'paymentid' AND `Type` LIKE '%64%'");
if (mysql_num_rows($paymentIdQuery) == 0) {
full_query("ALTER TABLE `gateway_mollie` CHANGE `paymentid` `paymentid` VARCHAR(64);");
} }
$mollie = new \Mollie\Api\MollieApiClient(); $mollie = new \Mollie\Api\MollieApiClient();
@@ -97,7 +103,8 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
'metadata' => array( 'metadata' => array(
'invoice_id' => $params['invoiceid'], 'invoice_id' => $params['invoiceid'],
), ),
'issuer' => ((isset($_POST['issuer']) && !empty($_POST['issuer'])) ? $_POST['issuer'] : NULL) 'issuer' => ((isset($_POST['issuer']) && !empty($_POST['issuer'])) ? $_POST['issuer'] : NULL),
'dueDate' => (($method == \Mollie\Api\Types\PaymentMethod::BANKTRANSFER) ? date('Y-m-d', strtotime('+100 days')) : NULL),
)); ));
update_query('gateway_mollie', array('paymentid' => $payment->id), array('id' => $transactionId)); update_query('gateway_mollie', array('paymentid' => $payment->id), array('id' => $transactionId));

View File

@@ -2,21 +2,22 @@
require_once __DIR__ . '/mollie/mollie.php'; require_once __DIR__ . '/mollie/mollie.php';
function mollieinghomepay_devapp_config() function molliecheckout_devapp_config()
{ {
$config = mollie_config(); $config = mollie_config();
$config = array_merge($config, array( $config = array_merge($config, array(
'FriendlyName' => array( 'FriendlyName' => array(
'Type' => 'System', 'Type' => 'System',
'Value' => 'Mollie ING Home\'Pay' 'Value' => 'Mollie Checkout'
) )
)); ));
return $config; return $config;
} }
function mollieinghomepay_devapp_link($params) function molliecheckout_devapp_link($params)
{ {
return mollie_link($params, \Mollie\Api\Types\PaymentMethod::INGHOMEPAY); return mollie_link($params, null);
} }