0900 nummer: Documentatie Pay per Call (standaard)
   Niet ingelogd, klik hier
TargetPay home TargetPay SEPA ready
Home iDEAL Bancontact SOFORT Banking Mobile Billing 0900 nummer Premium SMS Paysafecard



Introductie
Hoe werkt het?
Per gesprek lijn
Per minuut lijn
Uitbetalingen
Uw eigen 0900 nummer
Kant-en-klaar modules
Documentatie





0900 nummer: Documentatie Pay per Call (standaard)

1. Algemeen

Afrekenen met de Pay per Call variant werkt als volgt:
  1. Uw website vraagt bij Targetmedia het te bellen telefoonnummer en de in te voeren betaalcode op (zie kopje 2);
  2. U toont deze gegevens aan uw bezoeker (zie kopje 3);
  3. De bezoeker belt naar het getoonde telefoonnummer en toetst de betaalcode in;
  4. Na het bellen klikt de bezoeker op een link of button op uw website;
  5. U controleert bij ons of de betaling succesvol is geweest (zie kopje 4);
  6. Bij een succesvolle betaling kunt u de gekozen dienst leveren aan uw bezoeker.

2. Aanvraag telefoonnummer en betaalcode

2.1 Aanroep

Wanneer u de bezoeker de mogelijkheid wil bieden te bellen met de Pay per Call lijn, dient uw systeem een betaalcode en telefoonnummer aan te vragen bij ons systeem via een HTTP GET of POST naar:

http://api.targetpay.nl/payment/startpayment.asp

Met de volgende parameters:

Variabele Naam Formaat Verplicht
rtlo Layoutcode Numeriek Ja
ct Call type Altijd 'PC' Ja
co Landnummer Numeriek Ja
tb Tariefband (centen) Numeriek Ja
iphash IPAdres Alfanumeriek Ja
adult Adult-dienst 0 of 1 Ja
test Testmode 0 of 1 Nee


Voorbeeld
http://api.targetpay.nl/payment/startpayment.asp?rtlo=54321&ct=PC&co=31&tb=70&iphash=1234567890

Toelichting per variabele:
  • rtlo
    Het subaccount waarop de verkopen geboekt moeten worden. Voor het aanleggen en bekijken van subaccounts, zie: www.targetpay.com/subaccounts

  • ct
    Soort gesprek, moet altijd 'PC' zijn voor Pay per Call.

  • co
    Telefoon landnummer (bijv. 31 = Nederland). Voor een volledige lijst, zie www.targetpay.com/operators

  • tb
    Tariefband in centen in de lokale valuta van het gekozen land. Kijk op www.targetpay.com/advanced/ivr-ppc/lijn voor een overzicht van alle mogelijkheden.

  • iphash
    IP-adres van uw bezoeker of de eerste 10 tekens van een md5 hash van het ip-adres.

  • adult
    In sommige landen is het verplicht om het afrekenen van adult-diensten te laten verlopen via een aparte reeks telefoonnummers. Om waar nodig een adultnummer te kiezen dient u aan te geven of de betaling een adult dienst betreft of niet (1=adult dienst, 0=non-adult)

  • test
    Als u de waarde 1 meegeeft voor 'test' dan worden alle checks doorlopen, maar uw betaling wordt niet opgeslagen. U krijgt altijd dezelfde pincode en hetzelfde telefoonnummer terug indien alles OK is. U kunt deze parameter gebruiken om uw scripts te testen.

2.2 Resultaatcodes

Indien akkoord, dan wordt een tekst in het volgende formaat geretourneerd:

000 OK|xxxxxx|yyyyyy

Waarbij:
  • xxxxxx : 6-cijferige betaalcode welke uw bezoeker moet intoetsen tijdens het bellen
  • yyyyyy : Het te bellen telefoonnummer
Voorbeeld: Als het systeem antwoord met 000 OK|484932|0909-0400489, dan dient uw bezoeker te bellen met 0909-0400489 en de code 484932 in te toetsen.


Als er een fout is opgetreden, dan volgt een foutnummer gevolgd door een fouttekst. Mogelijke foutmeldingen zijn:

001 Invalid call type
002 Invalid rate for call type PC and country
003 Invalid rate for call type PM and country
004 Invalid rate for call type PU and country
005 Invalid call duration for this call type and country
006 Call type not available in this country
007 Invalid country code
008 Confirm URL missing
009 Call duration missing
010 Invalid iphash



3. Tonen betaalscherm aan bezoeker

U toont nu de bezoeker een betaalscherm met de volgende informatie:
  • Telefoonnummer (in het formaat zoals door ons is doorgegeven. Bijv. 0909-4001234 mag dus nooit vermeld worden als 090-94001234);
  • Betaalcode;
  • Valuta en prijs per gesprek;
Naast deze informatie vraagt u de bezoeker op een knop te klikken na betaling. Het daarop aan te roepen script staat onder kopje 4 beschreven.

Voorbeeld

Bel naar 0909-0400489 (€ 0,70 per gesprek).

Toets tijdens het bellen de betaalcode 484932 in. Klik na betaling op de button 'verder'.




4. Betaling controleren

4.1 Aanroep

Om te controleren of de betaling is afgerond moet uw systeem een aanroep doen via HTTP POST naar:

http://api.targetpay.nl/payment/checkpayment.asp

Met de volgende parameters:

Variabele Naam Formaat Verplicht
rtlo Layoutcode Numeriek Ja
paycode De betaalcode Numeriek Ja
payline De 090x-lijn Alfanumeriek Ja
country 2-cijferige landcode Numeriek Ja

Toelichting per variabele:
  • rtlo
    Layoutcode (zelfde waarde als meegegeven onder 2.1)

  • paycode
    De betaalcode (geretourneerd bij 2.2)

  • payline
    Het telefoonnummer van de betaallijn (zie 2.1)

  • country
    2 cijferige landcode (zie 2.1)


4.2 Resultaatcode's

Als de betaling met succes afgerond is, ontvangt u een resultaat in de vorm:

000 OK|xxxxxx|yyyyyy|zzzzzz
  • xxxxxx : De gebruikte tariefband (in centen lokale valuta, zie 2.1;
  • yyyyyy : Call type (altijd 'PC');
  • zzzzzz : Verbindingstijd in seconden.
Voorbeeld: 000 OK|070|PC|17

Als de betaling nog niet is afgerond, dan krijgt u de melding:

NOT OK


5. Opmerkingen
  • Het is verplicht om naast de nummers van de bestellijn altijd de kosten te vermelden. Eventuele boetes als gevolg van het niet vermelden van de kosten komen voor uw eigen rekening.

  • Alle pay-per-call lijnen in België van € 1,25 of hoger worden geblokkeerd door de mobiele operator Proximus. De lijnen blijven wel bereikbaar vanaf de andere mobiele operators en vanaf het vaste net. De lijnen tot en met € 1,00 zijn wel beschikbaar voor Proximus bellers. Dit is een beleidsmaatregel van Proximus waar alle partijen die opereren op de Belgische markt mee te maken hebben. De per-minuut lijnen van € 1,25 of hoger zijn onveranderd bereikbaar vanaf alle mobiele netwerken (dus ook Proximus) en het vaste net. Indien u veel met mobiele klanten werkt is een alternatief een per minuut lijn te gebruiken.
6. Voorbeeld validatiescript
<?php
// Set these parameters
// https://www.targetpay.com/advanced/ivr-ppc/lijn for valid rate and adult settings
// https://www.targetpay.com/subaccounts for your $rtlo layout number
$rtlo = xxxxx;       // Your layout number
$ct = "PC";          // Pay per call standaard
$co = "31";          // Countrycode, 31=NL, 32=BE
$tb =  "90";         // 90 cent per call
$adult = "0";        // Use 1 for adult purposes
$test = "0";         // Use 1 for testing

if ( !(isset ( $_GET['action'] ) && $_GET['action'] == 'validate' &&
 isset ( $_GET['payline'] ) && isset ( $_GET['paycode'] ))) {
	$aReturn =  startPayment();
	$iPayCode = $aReturn[0];
	$iPhoneNumberToCall = $aReturn[1];
	$iCosts = $aReturn[2];
	
	echo 'Call: '. $iPhoneNumberToCall;
	echo '<br/>Press code: '. $iPayCode;
	echo '<br/>Costs: '. $iCosts;
	echo '<br/><br/>';
	
	echo "<form method=\"GET\" >
	<input type=\"hidden\" name=\"payline\" value=\"".$iPhoneNumberToCall."\">
	<input type=\"hidden\" name=\"paycode\" value=\"".$iPayCode."\">
	<input type=\"submit\"  name=\"action\" value=\"validate\">
	</form>
	";
}
else 
{
    if (validatePayment($_GET['paycode'],$_GET['payline'] )== true )      
    	echo 'Payment completed successfully';  
    else        
    	echo 'Payment has not beeen completed yet';   
}

// Returns an array 
// value[0] = 0900 number to call
// value[1] = Paycode to enter during the call
// value[2] = Rate per call or per minute 
function startPayment(){
   global    $rtlo, $ct, $co, $tb, $adult, $test;
  $sRequest="http://api.targetpay.nl/payment/startpayment.asp";
  $strParamString = "?rtlo=".$rtlo."&ct=".$ct."&co=".$co."&tb=".$tb."&iphash=".
urlencode($_SERVER['REMOTE_ADDR'])."&adult=".$adult."&test=".$test;
  $ch = curl_init($sRequest.$strParamString);
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
  $strResponse = curl_exec($ch);
  curl_close($ch);

  $aResponse = explode('|', $strResponse );

  if( $ct == "PC" ) $aResponse[3] = $tb." per call.";
  else $aResponse[3] = $tb." per minute.";
  
  if( $aResponse[0] == "000 OK" )
  {
  	return array ( $aResponse[1], $aResponse[2] , $aResponse[3] );
  }
  else
  {
  	echo $strResponse;
   	return FALSE;	
  }
}

function validatePayment($code, $payline){
global    $rtlo, $co, $test;
  $sRequest="http://api.targetpay.nl/payment/checkpayment.asp";
  $strParamString = "?rtlo=".$rtlo."&payline=".urlencode($payline).
  "&paycode=".$code."&country=".$co."&test=".$test;
  $ch = curl_init($sRequest.$strParamString);
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
  $strResponse = curl_exec($ch);
  curl_close($ch);
  $aResponse = explode('|', $strResponse );
  return $aResponse[0] ==  "000 OK";
}
?>


© TargetPay.com

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