0900 nummer: Documentatie Pay per Minute
   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 Minute

1. Algemeen

Afrekenen met de Pay per Minute 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. Het gesprek wordt afgesloten als de door u ingestelde belduur bereikt is. Tot die tijd hoort de beller elke 10 seconden een melding dat de betaling nog niet afgerond is.
  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 Minute 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
rtloLayoutcodeNumeriekJa
ctCall typeAltijd 'PM'Ja
coLandnummerNumeriekJa
tbTariefband (centen)NumeriekJa
cdCall durationNumeriekJa
iphash IP-adres 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=PM&co=31&tb=80&cd=240&iphash=143122343

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 'PM' zijn voor Pay per Minute.

  • 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-ppm/lijn voor een overzicht van alle mogelijkheden.

  • cd
    Belduur in seconden: het aantal seconden dat het gesprek moet duren. De belduur is minimaal 30 seconden en maximaal 9999 seconden.

  • 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-0400397, dan dient uw bezoeker te bellen met 0909-0400397en 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 tariff for call type PC and country
003 Invalid tariff for call type PM and country
004 Invalid tariff 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 minuut;
  • Minimale belduur in seconden
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-0400397 (€ 0,80 per minuut, het gesprek duurt 120 seconden).

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
rtloLayoutcodeNumeriekJa
paycodeDe betaalcodeNumeriekJa
paylineDe 090x-lijnAlfanumeriek0909-0400397
country2-cijferige landcodeNumeriek31

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 'PM');
  • zzzzzz : Verbindingstijd in seconden.
Voorbeeld: 000 OK|80|PM|240

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

NOT OK
6. Voorbeeld validatiescript
<?php
// Set these parameters
// https://www.targetpay.com/advanced/ivr-ppm/lijn for valid rate and adult settings
// https://www.targetpay.com/subaccounts for your $rtlo layout number
$rtlo = xxxxxx;      // Your layout number
$ct = "PM";          // Pay per minute 
$co = "31";          // Countrycode, 31=NL, 32=BE
$tb =  "80";         // 80 cent per minute
$cd = "40";          // Callduration min: 30 sec, max 9999 sec
$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'] ))      
    	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, $cd;
  $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."&cd=".$cd;
  $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." ct. per minute. Duration $cd seconds.";
  
  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