Documentatie: creditcards EMS
   Niet ingelogd, klik hier
TargetPay home TargetPay SEPA ready
Home iDEAL Bancontact SOFORT Banking Mobile Billing 0900 nummer Premium SMS Paysafecard


Documentatie: creditcards EMS

1. Algemeen
In dit document staat beschreven hoe u een creditcard (Visa/Mastercard) betaling afhandelt via TargetPay door gebruik te maken van onze API (technische koppeling). Om hiermee aan de slag te kunnen heeft u technische kennis nodig.
1.1 Opmerking vooraf
Om integratie voor u gemakkelijk te maken hebben we een testaccount voor u. Neem contact op met onze sales afdeling voor het aanvragen van de test rtlo code. Met dze rtlo code doet u geen echte transacties, echter de werking is gelijk met de live omgeving.
1.2 Werking van de API in een notedop
Afrekenen met creditcard werkt als volgt:
  1. U roept bij Targetpay een url aan met uw rtlo en andere kenmerken;
  2. Na betaling wordt de bezoeker teruggestuurd naar uw site (zie kopje 3);
  3. U controleert bij ons of de betaling succesvol is geweest (zie kopje 4);
  4. Bij een succesvolle betaling levert u de gekozen dienst aan uw bezoeker.

2. Opvragen link naar betaalpagina

2.1 Aanroep

U kunt een transactie starten door het voorbeeld script uit de API te gebruiken of zelf een aanroep te doen via HTTP GET of POST naar:

https://www.targetpay.com/creditcard/start


Het script bevat of ontvangt de volgende parameters:
 

Variabele Naam Formaat Voorbeeld Verplicht
rtlo Layoutcode Numeriek 12345 Ja
description Omschrijving Alfanumeriek 300 credits Ja
currency Valuta Alfanumeriek EUR Ja
amount Bedrag in centen (150 = 1,50) Alfanumeriek 150 Ja
returnurl Return URL Alfanumeriek http://mijnsite.nl/bedankt.php Ja
reporturl Report URL Alfanumeriek http://mijnsite.nl/reporturl.php Ja
test Test parameter Alfanumeriek true Nee

Toelichting per variabele:
  • rtlo
    De layoutcode waarop de betaling geboekt moet worden. Zie subaccounts.
     
  • description
    Duidelijke omschrijving van de te leveren dienst. Alleen letters of cijfers, maximaal 32 tekens.
     
  • amount
    Het in rekening te brengen bedrag in (hele) centen. Het minimum is 100 en het maximum is 1000000
     
  • currency
    Valutacode. Afkortingen zijn volgens ISO 4217.
     
  • returnurl
    De URL waarnaar de bezoeker moet worden verwezen na betaling (zie kopje 3). Achter deze URL wordt de variabele trxid geplakt. Voorbeeld, als uw return URL is http://www.test.nl/activate?id=123, dan zou in de praktijk aangeroepen worden http://www.test.nl/activate?id=123&trxid=789 (waar 789 dan een fictief transactie ID is).
     
  • reporturl
    Als u deze invult, dan roepen we deze URL aan met HTTP POST (vanaf onze server). Dit gebeurt ook als uw klant niet op de knop 'Verder klikte...'.
    Aan uw URL voegen we 3 parameters toe:
    trxid met daarin het bestelnummer
    amount met daarin het afgerekende bedrag in centen
    status met daarin de status Success of Faillure.
    Dus als uw report URL 'www.test.nl/report' is dan roepen we bijvoorbeeld aan: http://www.test.nl/report?trxid=789&amount=1000&status=Success. Let op: verwar de reporturl niet met de returnurl. Uw bezoeker krijgt de reporturl nooit te zien, dit gebeurt 'onder water'.
  • test
    Deze parameter gebruikt u in combinatie met onze test rtlo code. Stel deze parameter in op false, als u met uw eigen layoutcode werkt en op true als u met onze test rtlo code werkt

2.2 Resultaatcode's
De status van het proces wordt terug gemeld via de volgende codes :
Als de aanroep succesvol is:
000000 103084|https://www.targetpay.com/creditcard/proceed?trxid=103084&securityHash=e44a0036603010e5499abfa9b33fcbc90bb4aa46 of
000001 103084|https://www.targetpay.com/creditcard/proceed?trxid=103084&securityHash=e44a0036603010e5499abfa9b33fcbc90bb4aa46&test=true
in de test mode.
U kunt in dat geval uw klant met een HTTP redirect doorsturen naar de URL
https://www.targetpay.com/creditcard/proceed?trxid=103084&securityHash=e44a0036603010e5499abfa9b33fcbc90bb4aa46

Als de aanroep niet goed is zal een van de onderstaande foutcodes worden weergegeven:
This account has no active contract.
Invalid cprice.
cprice too low.
cprice too high.
Invalid currency.
Invalid description.
Invalid returnurl.
Invalid reporturl.


Controleer in geval van fouten of de parameters goed zijn overgenomen uit de documentatie. Als dit het geval lijkt te zijn. Neem dan contact op met TargetPay, vermeldt de aanroep en de foutmelding.


3. Klant wordt doorverwezen
Als uw klant klaar is met afrekenen via creditcard óf wanneer hij op 'annuleren' klikt tijdens dit proces, wordt hij automatisch doorverwezen naar uw site, namelijk naar de opgegeven return URL. Daarbij wordt het Targetpay transactie ID meegegeven als GET variabele (trxid).



4. Status opvragen
4.1 Aanroep
U kunt nu met een aanroep naar TargetPay opvragen of de betaling afgerond is:

https://www.targetpay.com/creditcard/check

Met de volgende parameters:

Variabele Naam Formaat Verplicht
rtlo Layoutcode Numeriek Ja
trxid Transactie ID Numeriek Ja
once Controle 1 keer toelaten 0 of 1 Nee
test Testmode false of true Nee

Toelichting per variabele:
  • rtlo
    Layoutcode (zelfde waarde als meegegeven onder 5.1)
     
  • trxid
    Transactie ID, geretourneerd in de vorige stap (8 tekens)
     
  • once
    Als u voor once '1' invult dan zal slechts 1x een OK status teruggegeven worden. Als de bovenstaande URL nog een keer wordt aangeroepen voor hetzelfde Transactie ID dan krijgt u een foutmelding TP00014 (Reeds ingewisseld) terug en de datum/tijd waarop deze voor het eerst ingewisseld was.
    Als u voor once '0' invult dan zal steeds een OK status terug blijven komen.
    Vul bij twijfel 1 in, zo weet u zeker dat een dienst niet meerdere malen geleverd wordt als de bezoeker op Refresh/F5 zou drukken.
     
  • test
    Vul hier 1 in en de transactie wordt ook als OK aangemerkt als deze nog niet betaald is. Alle andere checks worden wel net als normaal doorlopen.
     
4.2 Resultaatcode's
Als de betaling met succes afgerond is, ontvangt u als antwoord:
000000 OK

Als de betaling nog niet is afgerond of de transactie is niet succesvol afgerond:
Transaction not finished yet, try again later
Transaction failed.
Transaction expired


Overige foutmeldingen:
No transactionID specified
No layoutcode specified
Transaction does not exist
Layoutcode does not match this transaction
Already checked


 
PHP voorbeeld
Hieronder staat een voorbeeld om een creditcard teansactie op te starten m.b.v. Targetpay.
<?php
$rtlo=xxxxx;
$description="Creditcard Example";
$amount=100;
$currency="EUR";
$returnurl="http://www.uwsite.nl/CreditcardExample.php";
$reporturl="http://www.uwsite.nl/CreditcardExample.php";
$test='true';  // Set this parameter to 'false' when testing is complete


// The returnurl is called, now we check the transaction status
if( isset($_GET['trxid'])){
  // 000000 OK means Status is successful. We deliver the product
  if( ($status = CheckReturnurl( $rtlo,  $_GET['trxid'], $test )) == "000000 OK" ){
    // Update the orderinfo to success
    die( "Status was Successful...
Thank you for your order" ); } //In all other cases do not delever(yet) // Update the orderinfo to failed else die( $status ); } elseif ( isset($_POST['trxid']) && isset($_POST['status']) ){ // The reporturl is called from the Targetpay server HandleReporturl( $_POST['trxid'], $_POST['status'] ); } else{ // Hier starten we met een redirect naar Paysafecard $redirecturl = StartTransaction( $rtlo, $description, $amount, $currency, $returnurl, $reporturl, $test ); header ("Location: ".$redirecturl); die(); } // Paragraph 3. Request redirect URL to paysafecaard function StartTransaction( $rtlo, $description, $amount, $currency, $returnurl, $reporturl, $test='false' ){ $url= "https://www.targetpay.com/creditcard/start?". "rtlo=".$rtlo. "&description=".urlencode(substr($description,0,32)). "&amount=".$amount. "¤cy=".$currency. "&returnurl=".urlencode($returnurl). "&reporturl=".urlencode($reporturl). "&test=".$test; $strResponse = httpGetRequest($url); $aResponse = explode('|', $strResponse ); # Bad response if ( !isset ( $aResponse[1] ) ) die('Error' . $aResponse[0] ); $responsetype = explode ( ' ', $aResponse[0] ); $trxid = $responsetype[1]; // You may add the trxid to your orderinfo here if( $responsetype[0] == "000000" || $responsetype[0] == "000001" ) return $aResponse[1]; else die( $aResponse[0] ); } // Paragraph 5. Request status in returnurl function CheckReturnurl($rtlo, $trxid, $test='false'){ $once=1; $url= "https://www.targetpay.com/creditcard/check?". "rtlo=".$rtlo. "&trxid=".$trxid. "&once=".$once. "&test=".$test; return httpGetRequest($url); } // Handler for the reporturl. // Update your your orderstatus and deliver the product if $status = "000000 OK" function HandleReporturl($trxid, $amount ){ if( substr($_SERVER['REMOTE_ADDR'],0,9) == "78.152.58") { // Update your orderinfo status here. //...... //reporturl should return OK to Targetpay. die( "OK" ); }else{ die("IP address not correct... This call is not from Targetpay"); } } function httpGetRequest($url){ $ch = curl_init( $url ); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ; $strResponse = curl_exec($ch); curl_close($ch); if ( $strResponse === false ) die("Could not fetch response " . $url ); return $strResponse; } ?>


© TargetPay.com

F.A.Q. | Contact | Netwerk status | Voorwaarden | Cookie Policy | Cookie Instellingen | Privacy | Regelgeving | Over ons... | Print versie