Forum » Server-Side scripting » Nieuwe targetpay API
Hardstyle
Berichten: 225
avatar
Offline Stuur privebericht
Ik weet niet of ik in het goede topic zit?

Ik heb een nieuwe API voor de targetpay betaalsystemen aan het maken.

Ik doe dit helemaal gratis, en geef die hier vrij op CP.

Een stukje voorbeeld.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
// (c) jackie @ criminalspoint

class ivrMethod
{
    public function 
__construct()
    {
        
//nothing
    
}

    public function 
startPayment()
    {
        
//link from https://www.targetpay.com/info/0900-docu-ppc
        
$url file_get_contents("http://api.targetpay.nl/payment/startpayment.asp?rtlo=54321&ct=PC&co=31&tb=70&iphash=1234567890");

        list(
$result$paycode$payline) = explode("|"$url);

        if(
$result == "000 OK")
        {
            return 
true;
        }
        else
        {
            return 
false;
        }
    }
}

$ivrMethod = new ivrMethod();

if(
$ivrMethod->startPayment())
{
    echo(
"Het is gelukt");
}
else
{
    echo(
"Het is mislukt.");
}
?>


Je mag me altijd op fouten wijzen en tips geven.

Greedz,
Jackie chan
Laatst gewijzigd door Willem op 2010-11-07 02:04:49
07-11-2010 00:23
Dit topic is 305 keer bekeken door 54 verschillende leden
Reacties op: "Nieuwe targetpay API"
1
GTFO
Berichten: 569
avatar
Offline Stuur privébericht
Je bouwt een API voor een API?

Ik vind dit een beetje overkill aangezien het amper werk is om het ff zelf te maken.

Verder zou ik er een singleton classe van maken, het is toch helemaal niet nodig om hiervoor een nieuwe instantie aan temaken, en je kan het van overal oproepen.
07-11-2010 00:49
Berichten: 2103
avatar
Offline Stuur privébericht
Vrij nutteloos aangezien TargetPay hem ook gratis aanbied, waarom dan nog een die over nog een API draait?

Beetje dubbel werk vind je niet?
07-11-2010 01:05
Hardstyle
Berichten: 225
avatar
Offline Stuur privébericht
Ik wil leren werken met classes en wil er zelf eentje ombouwen.

Ik heb nou dit gemaakt.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// (c) jackie @ criminalspoint

class ivrMethod
{
    public 
$partnerid;
    public 
$country;
    public 
$tariff;
    public 
$adult;
    public 
$paycode;
    public 
$payline;
    public 
$error;
    
    public function 
__construct() {}
    
    public function 
startPayment()
    {
        
$url file_get_contents("http://api.targetpay.nl/payment/startpayment.asp?rtlo=" $this->partnerid "&tb=" $this->tariff "&iphash=" $_SERVER['REMOTE_ADDR'] . "&adult=" $this->adult "&co=" $this->country "&ct=PC");

        list(
$result$paycode$payline) = explode("|"$url);

        if(
$result == "000 OK")
        {
            
$this->paycode $paycode;
            
$this->payline $payline;
            
            return 
true;
        }
        else
        {
            
$this->error $result;
            
            return 
false;
        }
    }
    
    public function 
checkPayment($paycode$payline)
    {
        
$url file_get_contents("http://api.targetpay.nl/payment/checkpayment.asp?rtlo=" $this->partnerid "&paycode=" $paycode "&payline=" $payline "&country=" $this->country);
        
        list(
$result) = explode("|"$url);
        
        if(
$result == "000 OK")
        {
            return 
true;
        }
        else
        {
            
$this->error $result;
          
            return 
false;
        }
    }
    
    public function 
setPartner($partnerid)
    {
        
$this->partnerid $partnerid;
    }
    
    public function 
setCountry($country)
    {
        
$this->country $country;
    }
    
    public function 
setAdult($adult)
    {
        
$this->adult $adult;
    }
    
    public function 
setTariff($tariff)
    {
        
$this->tariff $tariff;
    }
}


Zo gebruik je hem.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ivrMethod = new ivrMethod();

$ivrMethod->setPartner(xxxxx);
$ivrMethod->setCountry(31);
$ivrMethod->setTariff(130);
$ivrMethod->setAdult(0);

if(
$ivrMethod->startPayment())
{
    if(
$ivrMethod->checkPayment($ivrMethod->paycode$ivrMethod->payline))
    {
        echo(
"De betaling is gelukt.");
    }
    else
    {
        echo(
"De betaling is niet afgerond.");
    }
}
else
{
    echo(
"Er is een fout opgereden: " $ivrMethod->error);
}


Edit:
Deze class is met file_get_contents!
07-11-2010 01:13
Berichten: 3274
avatar
Offline Stuur privébericht
Topic naar goede locatie gebracht.
07-11-2010 01:17
Berichten: 2103
avatar
Offline Stuur privébericht
Waarom zou je een API bestand over een API bestand willen draaien, is toch dubbel werk of niet?

Tevens komen de class namen en variable bekend voor van de TargetPay API bestanden.


Graag uitleg waarom je het zo doet:

TargetPay API -> Jou API -> Reactie..

Terwijl het ook zo kan:

TargetPay API -> Reactie..
07-11-2010 01:20
-1
Berichten: 1489
avatar
Offline Stuur privébericht
Niet om lullig te doen maar bijvoorbeeld de parameters die je hier gebruikt:

Code | Selecteer Alles
minimaliseren
1
if($ivrMethod->checkPayment($ivrMethod->paycode$ivrMethod->payline))


Je stelt ze van te voren al in en dan ga je interne variabelen gebruiken i.c.m. een methode.

Dat is een beetje hetzelfde dat ik bij een open deur ga aanbellen en wachten tot er iemand open doet.

Daarnaast bouw je een klasse inplaats van een API, toch heel wat anders.
07-11-2010 12:13
Reageer op: "Nieuwe targetpay API"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden