forked from clone/WHMCS-Mollie-Payments
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
88446ee9a3 | ||
|
|
8f8aee016d | ||
|
|
f01ce080a4 | ||
|
|
ed2cb8da15 | ||
|
|
3b5df871b8 | ||
|
|
4c31da5ba3 | ||
|
|
baf13db08b | ||
|
|
16f333c39c | ||
|
|
664b2a7cfb | ||
|
|
fd9a3e39b1 | ||
|
|
c2857294b3 | ||
|
|
e356f9cfc1 | ||
|
|
6d65280c6e | ||
|
|
95348ada82 | ||
|
|
19979d9f28 |
41
README.md
41
README.md
@@ -1,36 +1,21 @@
|
||||
# WHMCS Mollie Gateway
|
||||
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.
|
||||
# WHMCS Mollie Payments gateway  
|
||||
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
|
||||
+ Log in op SSH (of console) en zorg dat GIT geinstalleerd is op uw webserver.
|
||||
+ Ga naar de root van de WHMCS installatie (de hoofd folder) en voer het onderstaande commando uit.
|
||||
+ ``` git clone --recursive https://github.com/0100Dev/WHMCS-Mollie.git /tmp/whmcs && sudo cp /tmp/whmcs/src ./modules/gateways/```
|
||||
### Installation
|
||||
+ Log in to your (s)FTP.
|
||||
+ 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)`!).
|
||||
+ Upload all the files from the `src` folder to the `/modules/gateways` folder in your WHMCS installation.
|
||||
|
||||
### Installatie via FTP
|
||||
+ Log in op FTP.
|
||||
+ 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.
|
||||
### Payment Methodes
|
||||
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.
|
||||
|
||||
### Betaalmethodes
|
||||
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.
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
### 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.
|
||||
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.
|
||||
|
||||
### 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 at € 75,- 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)
|
||||
|
||||
85
composer.lock
generated
85
composer.lock
generated
@@ -8,16 +8,16 @@
|
||||
"packages": [
|
||||
{
|
||||
"name": "composer/ca-bundle",
|
||||
"version": "1.1.2",
|
||||
"version": "1.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/ca-bundle.git",
|
||||
"reference": "46afded9720f40b9dc63542af4e3e43a1177acb0"
|
||||
"reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/46afded9720f40b9dc63542af4e3e43a1177acb0",
|
||||
"reference": "46afded9720f40b9dc63542af4e3e43a1177acb0",
|
||||
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d",
|
||||
"reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -60,7 +60,7 @@
|
||||
"ssl",
|
||||
"tls"
|
||||
],
|
||||
"time": "2018-08-08T08:57:40+00:00"
|
||||
"time": "2019-01-28T09:30:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
@@ -180,32 +180,33 @@
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
"version": "1.4.2",
|
||||
"version": "1.5.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/psr7.git",
|
||||
"reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
|
||||
"reference": "9f83dded91781a01c63574e387eaa769be769115"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
|
||||
"reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115",
|
||||
"reference": "9f83dded91781a01c63574e387eaa769be769115",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0",
|
||||
"psr/http-message": "~1.0"
|
||||
"psr/http-message": "~1.0",
|
||||
"ralouphie/getallheaders": "^2.0.5"
|
||||
},
|
||||
"provide": {
|
||||
"psr/http-message-implementation": "1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.0"
|
||||
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.4-dev"
|
||||
"dev-master": "1.5-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -235,26 +236,27 @@
|
||||
"keywords": [
|
||||
"http",
|
||||
"message",
|
||||
"psr-7",
|
||||
"request",
|
||||
"response",
|
||||
"stream",
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2017-03-20T17:10:46+00:00"
|
||||
"time": "2018-12-04T20:46:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mollie/mollie-api-php",
|
||||
"version": "v2.0.13",
|
||||
"version": "v2.10.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mollie/mollie-api-php.git",
|
||||
"reference": "8d3b199ddf955f968a274daa1d2a4bdf68b932d1"
|
||||
"reference": "151bdb85c325f6768452a3d8461930589be85729"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/8d3b199ddf955f968a274daa1d2a4bdf68b932d1",
|
||||
"reference": "8d3b199ddf955f968a274daa1d2a4bdf68b932d1",
|
||||
"url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/151bdb85c325f6768452a3d8461930589be85729",
|
||||
"reference": "151bdb85c325f6768452a3d8461930589be85729",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -267,7 +269,7 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"eloquent/liberator": "^2.0",
|
||||
"phpunit/phpunit": "^5.7|^6.5|^7.1"
|
||||
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.1"
|
||||
},
|
||||
"suggest": {
|
||||
"mollie/oauth2-mollie-php": "Use OAuth to authenticate with the Mollie API. This is needed for some endpoints. Visit https://docs.mollie.com/ for more information."
|
||||
@@ -292,12 +294,12 @@
|
||||
"homepage": "https://www.mollie.com/en/developers",
|
||||
"keywords": [
|
||||
"CBC",
|
||||
"Przelewy24",
|
||||
"api",
|
||||
"bancontact",
|
||||
"banktransfer",
|
||||
"belfius",
|
||||
"belfius direct net",
|
||||
"bitcoin",
|
||||
"charges",
|
||||
"creditcard",
|
||||
"direct debit",
|
||||
@@ -308,8 +310,10 @@
|
||||
"inghomepay",
|
||||
"intersolve",
|
||||
"kbc",
|
||||
"klarna",
|
||||
"mistercash",
|
||||
"mollie",
|
||||
"paylater",
|
||||
"payment",
|
||||
"payments",
|
||||
"paypal",
|
||||
@@ -319,11 +323,12 @@
|
||||
"refunds",
|
||||
"sepa",
|
||||
"service",
|
||||
"sliceit",
|
||||
"sofort",
|
||||
"sofortbanking",
|
||||
"subscriptions"
|
||||
],
|
||||
"time": "2018-08-29T09:05:31+00:00"
|
||||
"time": "2019-05-20T09:07:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
@@ -374,6 +379,46 @@
|
||||
"response"
|
||||
],
|
||||
"time": "2016-08-06T14:39:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
"version": "2.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ralouphie/getallheaders.git",
|
||||
"reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa",
|
||||
"reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~3.7.0",
|
||||
"satooshi/php-coveralls": ">=1.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/getallheaders.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ralph Khattar",
|
||||
"email": "ralph.khattar@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A polyfill for getallheaders.",
|
||||
"time": "2016-02-11T07:05:27+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
|
||||
@@ -31,6 +31,9 @@ if (isset($_POST['id'])) {
|
||||
|
||||
$method = $transaction['method'];
|
||||
|
||||
if (empty($method)) {
|
||||
$method = 'checkout';
|
||||
}
|
||||
|
||||
$_GATEWAY = getGatewayVariables('mollie' . $method . '_devapp');
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ $_GATEWAYLANG['checkPayment'] = 'We controleren je betaling, moment geduld...';
|
||||
|
||||
$_GATEWAYLANG['payWithBanktransfer'] = 'Betaal met Bank overschrijving';
|
||||
$_GATEWAYLANG['payWithBelfius'] = 'Betaal met Belfius';
|
||||
$_GATEWAYLANG['payWithBitcoin'] = 'Betaal met Bitcoin';
|
||||
$_GATEWAYLANG['payWithCreditcard'] = 'Betaal met Creditcard';
|
||||
$_GATEWAYLANG['payWithIdeal'] = 'Betaal met iDeal';
|
||||
$_GATEWAYLANG['payWithBancontact'] = 'Betaal met Bancontact';
|
||||
@@ -22,3 +21,6 @@ $_GATEWAYLANG['payWithGiftcard'] = 'Betaal met een cadeaukaart';
|
||||
$_GATEWAYLANG['payWithGiropay'] = 'Betaal met Giropay';
|
||||
$_GATEWAYLANG['payWithInghomepay'] = 'Betaal met ING Home\'Pay';
|
||||
$_GATEWAYLANG['payWithKbc'] = 'Betaal met KBC/CBC-betaalknop';
|
||||
$_GATEWAYLANG['payWithPrzelewy24'] = 'Betaal met Przelewy24';
|
||||
$_GATEWAYLANG['payWithApplepay'] = 'Betaal met Apple Pay';
|
||||
$_GATEWAYLANG['payWith'] = 'Betaal met Mollie';
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
$_GATEWAYLANG = array();
|
||||
|
||||
$_GATEWAYLANG['selectBank'] = 'Select bank';
|
||||
$_GATEWAYLANG['selectLater'] = 'Select later';
|
||||
|
||||
$_GATEWAYLANG['errorTransactionNotFound'] = 'Transaction is not found. Please try again.';
|
||||
|
||||
@@ -11,7 +10,6 @@ $_GATEWAYLANG['checkPayment'] = 'Checking your payment, please wait...';
|
||||
|
||||
$_GATEWAYLANG['payWithBanktransfer'] = 'Pay with Bank Transfer';
|
||||
$_GATEWAYLANG['payWithBelfius'] = 'Pay with Belfius';
|
||||
$_GATEWAYLANG['payWithBitcoin'] = 'Pay with Bitcoin';
|
||||
$_GATEWAYLANG['payWithCreditcard'] = 'Pay with Credit Card';
|
||||
$_GATEWAYLANG['payWithIdeal'] = 'Pay with iDeal';
|
||||
$_GATEWAYLANG['payWithBancontact'] = 'Pay with Bancontact';
|
||||
@@ -23,3 +21,6 @@ $_GATEWAYLANG['payWithGiftcard'] = 'Pay with a gift card';
|
||||
$_GATEWAYLANG['payWithGiropay'] = 'Pay with Giropay';
|
||||
$_GATEWAYLANG['payWithInghomepay'] = 'Pay with ING Home\'Pay';
|
||||
$_GATEWAYLANG['payWithKbc'] = 'Pay with KBC/CBC Payment Button';
|
||||
$_GATEWAYLANG['payWithPrzelewy24'] = 'Pay with Przelewy24';
|
||||
$_GATEWAYLANG['payWithApplepay'] = 'Pay with Apple Pay';
|
||||
$_GATEWAYLANG['payWith'] = 'Pay with Mollie';
|
||||
|
||||
@@ -71,7 +71,7 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
|
||||
return '<br/><img src="' . $params['systemurl'] . 'modules/gateways/mollie/ajax_loader.gif" /><br/>' . $_GATEWAYLANG['checkPayment'] . ' <script> window.onload = function(){ setTimeout("location.reload(true);", 2000); } </script>';
|
||||
}
|
||||
} else {
|
||||
if (isset($_POST['start']) || (isset($_GET['a']) && $_GET['a'] == 'complete') || (isset($_GET['action']) && ($_GET['action'] == 'addfunds' || $_GET['action'] == 'masspay') && isset($_POST['paymentmethod']) && $_POST['paymentmethod'] == 'mollie' . $method)) {
|
||||
if (isset($_POST['start']) || isset($_POST['issuer']) || (isset($_GET['a']) && $_GET['a'] == 'complete') || (isset($_GET['action']) && ($_GET['action'] == 'addfunds' || $_GET['action'] == 'masspay') && isset($_POST['paymentmethod']) && $_POST['paymentmethod'] == 'mollie' . $method)) {
|
||||
|
||||
$transactionCurrency = select_query('tblcurrencies', '', array('code' => $params['currency']), null, null, 1);
|
||||
$transactionCurrency = mysql_fetch_assoc($transactionCurrency);
|
||||
@@ -93,7 +93,7 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
|
||||
'method' => $method,
|
||||
'description' => $params['description'],
|
||||
'redirectUrl' => $params['returnurl'] . '&check_payment=' . $transactionId,
|
||||
'webhookUrl' => $params['systemurl'] . 'modules/gateways/mollie/callback.php',
|
||||
'webhookUrl' => $params['systemurl'] . '/modules/gateways/mollie/callback.php',
|
||||
'metadata' => array(
|
||||
'invoice_id' => $params['invoiceid'],
|
||||
),
|
||||
@@ -105,19 +105,17 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
|
||||
header('Location: ' . $payment->getCheckoutUrl());
|
||||
exit();
|
||||
} else {
|
||||
$return = '<form action="" method="POST">';
|
||||
$return = '<form action="viewinvoice.php?id=' . $params['invoiceid'] . '" method="POST">';
|
||||
|
||||
if ($method == \Mollie\Api\Types\PaymentMethod::IDEAL) {
|
||||
$issuers = $mollie->issuers->all();
|
||||
$issuers = $mollie->methods->get('ideal', ['include' => 'issuers'])->issuers;
|
||||
|
||||
$return .= '<label for="issuer">' . $_GATEWAYLANG['selectBank'] . ':</label> ';
|
||||
|
||||
$return .= '<select name="issuer">';
|
||||
foreach ($issuers as $issuer) {
|
||||
if ($issuer->method == \Mollie\Api\Types\PaymentMethod::IDEAL) {
|
||||
$return .= '<option value=' . htmlspecialchars($issuer->id) . '>' . htmlspecialchars($issuer->name) . '</option>';
|
||||
}
|
||||
}
|
||||
$return .= '</select>';
|
||||
}
|
||||
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
|
||||
require_once __DIR__ . '/mollie/mollie.php';
|
||||
|
||||
function molliebitcoin_devapp_config()
|
||||
function mollieapplepay_devapp_config()
|
||||
{
|
||||
$config = mollie_config();
|
||||
|
||||
$config = array_merge($config, array(
|
||||
'FriendlyName' => array(
|
||||
'Type' => 'System',
|
||||
'Value' => 'Mollie Bitcoin'
|
||||
'Value' => 'Mollie Apple Pay'
|
||||
)
|
||||
));
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
function molliebitcoin_devapp_link($params)
|
||||
function mollieapplepay_devapp_link($params)
|
||||
{
|
||||
return mollie_link($params, \Mollie\Api\Types\PaymentMethod::BITCOIN);
|
||||
return mollie_link($params, \Mollie\Api\Types\PaymentMethod::APPLEPAY);
|
||||
}
|
||||
23
src/molliecheckout_devapp.php
Normal file
23
src/molliecheckout_devapp.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/mollie/mollie.php';
|
||||
|
||||
function molliecheckout_devapp_config()
|
||||
{
|
||||
$config = mollie_config();
|
||||
|
||||
$config = array_merge($config, array(
|
||||
'FriendlyName' => array(
|
||||
'Type' => 'System',
|
||||
'Value' => 'Mollie Checkout'
|
||||
)
|
||||
));
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
function molliecheckout_devapp_link($params)
|
||||
{
|
||||
return mollie_link($params, null);
|
||||
}
|
||||
|
||||
22
src/mollieprzelewy24_devapp.php
Normal file
22
src/mollieprzelewy24_devapp.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/mollie/mollie.php';
|
||||
|
||||
function mollieprzelewy24_devapp_config()
|
||||
{
|
||||
$config = mollie_config();
|
||||
|
||||
$config = array_merge($config, array(
|
||||
'FriendlyName' => array(
|
||||
'Type' => 'System',
|
||||
'Value' => 'Mollie Przelewy24'
|
||||
)
|
||||
));
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
function mollieprzelewy24_devapp_link($params)
|
||||
{
|
||||
return mollie_link($params, \Mollie\Api\Types\PaymentMethod::PRZELEWY24);
|
||||
}
|
||||
Reference in New Issue
Block a user