@@ -11,6 +11,20 @@ class PurchaseRequest extends AbstractRequest
11
11
{
12
12
protected $ liveEndpoint = 'https://sis.redsys.es/sis/realizarPago ' ;
13
13
protected $ testEndpoint = 'https://sis-t.redsys.es:25443/sis/realizarPago ' ;
14
+ protected static $ consumerLanguages = array (
15
+ 'es ' => '001 ' , // Spanish
16
+ 'en ' => '002 ' , // English
17
+ 'ca ' => '003 ' , // Catalan - same as Valencian (010)
18
+ 'fr ' => '004 ' , // French
19
+ 'de ' => '005 ' , // German
20
+ 'nl ' => '006 ' , // Dutch
21
+ 'it ' => '007 ' , // Italian
22
+ 'sv ' => '008 ' , // Swedish
23
+ 'pt ' => '009 ' , // Portuguese
24
+ 'pl ' => '011 ' , // Polish
25
+ 'gl ' => '012 ' , // Galician
26
+ 'eu ' => '013 ' , // Basque
27
+ );
14
28
15
29
public function getCardholder ()
16
30
{
@@ -40,57 +54,7 @@ public function setConsumerLanguage($value)
40
54
}
41
55
$ value = str_pad ($ value , 3 , '0 ' , STR_PAD_LEFT );
42
56
} elseif (!is_numeric ($ value )) {
43
- switch ($ value ) {
44
- default :
45
- // Spanish
46
- case 'es ' :
47
- $ value = '001 ' ;
48
- break ;
49
- // English
50
- case 'en ' :
51
- $ value = '002 ' ;
52
- break ;
53
- // Catalan - same as Valencian (010)
54
- case 'ca ' :
55
- $ value = '003 ' ;
56
- break ;
57
- // French
58
- case 'fr ' :
59
- $ value = '004 ' ;
60
- break ;
61
- // German
62
- case 'de ' :
63
- $ value = '005 ' ;
64
- break ;
65
- // Dutch
66
- case 'nl ' :
67
- $ value = '006 ' ;
68
- break ;
69
- // Italian
70
- case 'it ' :
71
- $ value = '007 ' ;
72
- break ;
73
- // Swedish
74
- case 'sv ' :
75
- $ value = '008 ' ;
76
- break ;
77
- // Portuguese
78
- case 'pt ' :
79
- $ value = '009 ' ;
80
- break ;
81
- // Polish
82
- case 'pl ' :
83
- $ value = '011 ' ;
84
- break ;
85
- // Galician
86
- case 'gl ' :
87
- $ value = '012 ' ;
88
- break ;
89
- // Basque
90
- case 'eu ' :
91
- $ value = '013 ' ;
92
- break ;
93
- }
57
+ $ value = isset (self ::$ consumerLanguages [$ value ]) ? self ::$ consumerLanguages [$ value ] : '001 ' ;
94
58
}
95
59
96
60
return $ this ->setParameter ('consumerLanguage ' , $ value );
@@ -171,26 +135,24 @@ public function getData()
171
135
{
172
136
$ this ->validate ('merchantId ' , 'terminalId ' , 'amount ' , 'currency ' );
173
137
174
- $ data = array ();
175
-
176
- // mandatory fields
177
- $ data ['Ds_Merchant_MerchantCode ' ] = $ this ->getMerchantId ();
178
- $ data ['Ds_Merchant_Terminal ' ] = $ this ->getTerminalId ();
179
- $ data ['Ds_Merchant_TransactionType ' ] = '0 ' ; // Authorisation
180
- $ data ['Ds_Merchant_Amount ' ] = $ this ->getAmountInteger ();
181
- $ data ['Ds_Merchant_Currency ' ] = $ this ->getCurrencyNumeric (); // uses ISO-4217 codes
182
- $ data ['Ds_Merchant_Order ' ] = $ this ->getTransactionId ();
183
- $ data ['Ds_Merchant_MerchantUrl ' ] = $ this ->getNotifyUrl ();
184
- // optional fields
185
- $ data ['Ds_Merchant_ProductDescription ' ] = $ this ->getDescription ();
186
- $ data ['Ds_Merchant_Cardholder ' ] = $ this ->getCardholder ();
187
- $ data ['Ds_Merchant_UrlOK ' ] = $ this ->getReturnUrl ();
188
- $ data ['Ds_Merchant_UrlKO ' ] = $ this ->getReturnUrl ();
189
- $ data ['Ds_Merchant_MerchantName ' ] = $ this ->getMerchantName ();
190
- $ data ['Ds_Merchant_ConsumerLanguage ' ] = $ this ->getConsumerLanguage ();
191
- $ data ['Ds_Merchant_MerchantData ' ] = $ this ->getMerchantData ();
192
-
193
- return $ data ;
138
+ return array (
139
+ // mandatory fields
140
+ 'Ds_Merchant_MerchantCode ' => $ this ->getMerchantId (),
141
+ 'Ds_Merchant_Terminal ' => $ this ->getTerminalId (),
142
+ 'Ds_Merchant_TransactionType ' => '0 ' , // Authorisation
143
+ 'Ds_Merchant_Amount ' => $ this ->getAmountInteger (),
144
+ 'Ds_Merchant_Currency ' => $ this ->getCurrencyNumeric (), // uses ISO-4217 codes
145
+ 'Ds_Merchant_Order ' => $ this ->getTransactionId (),
146
+ 'Ds_Merchant_MerchantUrl ' => $ this ->getNotifyUrl (),
147
+ // optional fields
148
+ 'Ds_Merchant_ProductDescription ' => $ this ->getDescription (),
149
+ 'Ds_Merchant_Cardholder ' => $ this ->getCardholder (),
150
+ 'Ds_Merchant_UrlOK ' => $ this ->getReturnUrl (),
151
+ 'Ds_Merchant_UrlKO ' => $ this ->getReturnUrl (),
152
+ 'Ds_Merchant_MerchantName ' => $ this ->getMerchantName (),
153
+ 'Ds_Merchant_ConsumerLanguage ' => $ this ->getConsumerLanguage (),
154
+ 'Ds_Merchant_MerchantData ' => $ this ->getMerchantData (),
155
+ );
194
156
}
195
157
196
158
public function sendData ($ data )
0 commit comments