7 Commits
2.5 ... 2.9

Author SHA1 Message Date
Wouter van Os
664b2a7cfb Fix redirect for addfunds
This fixes addfunds requests somehow.
2020-02-10 17:34:18 +01:00
Thomas
fd9a3e39b1 Fix #53 (#55)
Een extra / in de URL zou niet uit moeten maken, bij mijn eigen site werkt dat verder. Bij bijv. Google ook: https://www.google.nl////search?q=mollie+whmcs
2019-06-24 20:42:48 +02:00
Wouter van Os
c2857294b3 Added Apply Pay 2019-05-27 16:23:55 +02:00
Wouter van Os
e356f9cfc1 Removed Bitcoin because Mollie removed the payment method 2019-05-27 16:23:27 +02:00
Wouter van Os
6d65280c6e Added Przelewy24 payment provider 2019-04-24 17:09:48 +02:00
Wouter van Os
95348ada82 Update iDeal script for new Mollie API 2018-10-02 13:27:32 +02:00
Wouter van Os
19979d9f28 Update README for composer 2018-09-12 20:47:04 +02:00
7 changed files with 107 additions and 36 deletions

View File

@@ -5,8 +5,13 @@ Compatible met **alle** WHMCS versies.
### 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/```
+ Ga naar een tijdelijke folder (bijvoorbeeld `/tmp`) en voer het onderstaande commando uit.
+ ``` git clone https://github.com/0100Dev/WHMCS-Mollie.git```
+ 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
+ Log in op FTP.

85
composer.lock generated
View File

@@ -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": [],

View File

@@ -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,5 @@ $_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';

View File

@@ -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,5 @@ $_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';

View File

@@ -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,18 +105,16 @@ 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 .= '<option value=' . htmlspecialchars($issuer->id) . '>' . htmlspecialchars($issuer->name) . '</option>';
}
$return .= '</select>';
}

View File

@@ -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);
}

View 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);
}