-
Notifications
You must be signed in to change notification settings - Fork 4
/
MarketPlaceMpSaleRequest.php
75 lines (70 loc) · 3.51 KB
/
MarketPlaceMpSaleRequest.php
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
74
75
<?php
/**
* Pazaryeri 3dSecure ve 3D secure olmadan ödeme için gerekli olan alanların tanımlandığı sınıftır.
* Bu sınıf içerisinde execute metodu ile servis çağrısı başlatılır.
* Execute metodu içerisinde tanımlanan "toXmlString" metodu gerekli xml metninin oluşturulmasını sağlar.
* Execute metodu içerisinde tanımlanan url adresine oluşturulan xml post edilir.
*/
class MarketPlaceMpSaleRequest
{
public $ServiceType;
public $OperationType;
public $CreditCardInfo;
public $MPAY;
public $Token;
public $Price;
public $ExtraParam;
public $Description;
public $IPAddress;
public $Port;
public $ErrorURL;
public $SuccessURL;
public $InstallmentCount;
public $CommissionRate;
public $SubPartnerId;
public $PaymentContent;
public $CardTokenization;
public static function Execute(MarketPlaceMpSaleRequest $request)
{
return restHttpCaller::post("https://www.wirecard.com.tr/SGate/Gate" , $request->toXmlString());
}
//Post edilmesi istenen xml metni oluşturulup bu xml metni belirtilen adrese post edilir.
public function toXmlString()
{
$xml_data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" .
"<WIRECARD>\n" .
" <ServiceType>" . $this->ServiceType . "</ServiceType>\n" .
" <OperationType>" . $this->OperationType . "</OperationType>\n" .
" <Token>\n" .
" <UserCode>" .urlencode($this->Token->UserCode) . "</UserCode>\n" .
" <Pin>" .urlencode($this->Token->Pin) . "</Pin>\n" .
" </Token>\n" .
" <CreditCardInfo>\n" .
" <CreditCardNo>" . urlencode($this->CreditCardInfo->CreditCardNo) . "</CreditCardNo>\n" .
" <OwnerName>" . urlencode($this->CreditCardInfo->OwnerName) . "</OwnerName>\n" .
" <ExpireYear>" . urlencode($this->CreditCardInfo->ExpireYear) . "</ExpireYear>\n" .
" <ExpireMonth>" . urlencode($this->CreditCardInfo->ExpireMonth) . "</ExpireMonth>\n" .
" <Cvv>" . urlencode($this->CreditCardInfo->Cvv) . "</Cvv>\n" .
" </CreditCardInfo>\n" .
" <CardTokenization>\n" .
" <RequestType>" . urlencode($this->CardTokenization->RequestType) . "</RequestType>\n" .
" <CustomerId>" . urlencode($this->CardTokenization->CustomerId) . "</CustomerId>\n" .
" <ValidityPeriod>" . urlencode($this->CardTokenization->ValidityPeriod) . "</ValidityPeriod>\n" .
" <CCTokenId>" . urlencode($this->CardTokenization->CCTokenId) . "</CCTokenId>\n" .
" </CardTokenization>\n" .
" <MPAY>" . $this->MPAY . "</MPAY>\n" .
" <Price>" . $this->Price . "</Price>\n" .
" <ExtraParam>" . $this->ExtraParam . "</ExtraParam>\n" .
" <Description>" . $this->Description . "</Description>\n" .
" <IPAddress>" . $this->IPAddress . "</IPAddress>\n" .
" <Port>" . $this->Port . "</Port>\n" .
" <ErrorURL>" . $this->ErrorURL . "</ErrorURL>\n" .
" <SuccessURL>" . $this->SuccessURL . "</SuccessURL>\n" .
" <InstallmentCount>" . $this->InstallmentCount . "</InstallmentCount>\n" .
" <CommissionRate>" . $this->CommissionRate . "</CommissionRate>\n" .
" <SubPartnerId>" . $this->SubPartnerId . "</SubPartnerId>\n" .
" <PaymentContent>" . $this->PaymentContent . "</PaymentContent>\n" .
"</WIRECARD>";
return $xml_data;
}
}