HostFact - Payment Provider



Callback URLs

De meeste payment providers ondersteunen de mogelijkheid om de betalende klant na de transactie terug te verwijzen naar het betaalscherm. Ook bestaat vaak de mogelijkheid om server-to-server notificaties te laten sturen naar een opgegeven URL, zodat er altijd een terugkoppeling plaatsvindt, ongeacht of de klant het betaalproces vroegtijdig beëindigd.


Server-to-server notificaties

Maak een nieuw bestand in de aangemaakte map voor uw payment provider en noem deze 'notify.php'. Dit bestand zal vervolgens de statusafhandeling van de transactie verzorgen. In de construct van uw payment class dient u deze 'notify.php' op te geven.


Voorbeeld extra instelling in construct
$this->conf['notify_url']   = IDEAL_EMAIL.'your.paymentprovider/notify.php';

Daarna kan de inhoud van het 'notify.php' bestand worden gevuld, waarbij de transactie ID uit de $_POST of $_GET variabele gehaald moet worden (afhankelijk van wat de payment provider doet).


Een voorbeeld hoe de inhoud van 'notify.php' met $_GET kan zijn:
<?php
// Load HostFact database connection and settings
chdir('../');
require_once "config.php";

// Load payment provider class
require_once "your.paymentprovider/payment_provider.php";
$tmp_payment_provider = new your_paymentprovider();
$tmp_payment_provider->isNotificationScript = true;

if(isset($_GET['transaction_id']))
{
	// Validate transaction			
	$tmp_payment_provider->validateTransaction($_GET['transaction_id']);
}
else
{
	// If no GET-variable
	$tmp_payment_provider->paymentStatusUnknown('transaction id unknown');
}
?>


Terugverwijzing klant

Maak een nieuw bestand in de aangemaakte map voor uw payment provider en noem deze 'return.php'. De payment provider kan hiernaar verwijzen. Afhankelijk van de aanwezigheid van de 'notify.php' zal dit bestand de statusafhandeling van de transactie verzorgen, of enkel de status ophalen en de klant juist doorverwijzen. In de construct van uw payment class dient u deze 'return.php' op te geven.


Voorbeeld extra instelling in construct
$this->conf['return_url']   = IDEAL_EMAIL.'your.paymentprovider/return.php';

Daarna kan de inhoud van het 'return.php' bestand worden gevuld, waarbij de transactie ID uit de $_POST of $_GET variabelen gehaald zou moeten worden.


Een voorbeeld hoe de inhoud van 'return.php' met $_GET kan zijn:
<?php
// Load HostFact database connection and settings
chdir('../');
require_once "config.php";

// Load payment provider class
require_once "your.paymentprovider/payment_provider.php";
$tmp_payment_provider = new your_paymentprovider();

if(isset($_GET['transaction_id']))
{
	// Validate transaction			
	$tmp_payment_provider->validateTransaction($_GET['transaction_id']);
}
else
{
	// If no GET-variable
	$tmp_payment_provider->paymentStatusUnknown('transaction id unknown');
}
?>