Completed
Pull Request — master (#15)
by angel
01:59
created
Instapago/InstapagoGateway/Exceptions/InstapagoException.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -35,8 +35,8 @@
 block discarded – undo
35 35
  */
36 36
 class InstapagoException extends Exception
37 37
 {
38
-    public function __construct($message = null)
39
-    {
40
-        parent::__construct($message);
41
-    }
38
+	public function __construct($message = null)
39
+	{
40
+		parent::__construct($message);
41
+	}
42 42
 }
Please login to merge, or discard this patch.
Instapago/autoload.php 1 patch
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@
 block discarded – undo
28 28
  */
29 29
 
30 30
 spl_autoload_register(function ($class) {
31
-    $file = dirname(__DIR__).DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php';
31
+	$file = dirname(__DIR__).DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php';
32 32
 
33
-    return (!is_file($file)) ?: require $file;
33
+	return (!is_file($file)) ?: require $file;
34 34
 });
Please login to merge, or discard this patch.
Instapago/InstapagoGateway/InstapagoPayment.php 1 patch
Indentation   +255 added lines, -255 removed lines patch added patch discarded remove patch
@@ -35,274 +35,274 @@
 block discarded – undo
35 35
  */
36 36
 class InstapagoPayment
37 37
 {
38
-    protected $keyId;
39
-    protected $publicKeyId;
40
-    public $cardHolder;
41
-    public $cardHolderId;
42
-    public $cardNumber;
43
-    public $cvc;
44
-    public $expirationDate;
45
-    public $amount;
46
-    public $description;
47
-    public $statusId;
48
-    public $ipAddres;
49
-    public $idPago;
50
-    public $root = 'https://api.instapago.com/';
51
-
52
-    /**
53
-     * Crear un nuevo objeto de Instapago.
54
-     *
55
-     * @param string $keyId       llave privada
56
-     * @param string $publicKeyId llave publica
57
-     *                            Requeridas.
58
-     */
59
-    public function __construct($keyId, $publicKeyId)
60
-    {
61
-        try {
62
-            if (empty($keyId) && empty($publicKeyId)) {
63
-                throw new InstapagoException('Los parámetros "keyId" y "publicKeyId" son requeridos para procesar la petición.');
64
-            }
65
-
66
-            if (empty($keyId)) {
67
-                throw new InstapagoException('El parámetro "keyId" es requerido para procesar la petición. ');
68
-            }
69
-
70
-            if (empty($publicKeyId)) {
71
-                throw new InstapagoException('El parámetro "publicKeyId" es requerido para procesar la petición.');
72
-            }
73
-
74
-            $this->publicKeyId = $publicKeyId;
75
-            $this->keyId = $keyId;
76
-        } catch (InstapagoException $e) {
77
-            echo $e->getMessage();
78
-        } // end try/catch
79
-    }
38
+	protected $keyId;
39
+	protected $publicKeyId;
40
+	public $cardHolder;
41
+	public $cardHolderId;
42
+	public $cardNumber;
43
+	public $cvc;
44
+	public $expirationDate;
45
+	public $amount;
46
+	public $description;
47
+	public $statusId;
48
+	public $ipAddres;
49
+	public $idPago;
50
+	public $root = 'https://api.instapago.com/';
51
+
52
+	/**
53
+	 * Crear un nuevo objeto de Instapago.
54
+	 *
55
+	 * @param string $keyId       llave privada
56
+	 * @param string $publicKeyId llave publica
57
+	 *                            Requeridas.
58
+	 */
59
+	public function __construct($keyId, $publicKeyId)
60
+	{
61
+		try {
62
+			if (empty($keyId) && empty($publicKeyId)) {
63
+				throw new InstapagoException('Los parámetros "keyId" y "publicKeyId" son requeridos para procesar la petición.');
64
+			}
65
+
66
+			if (empty($keyId)) {
67
+				throw new InstapagoException('El parámetro "keyId" es requerido para procesar la petición. ');
68
+			}
69
+
70
+			if (empty($publicKeyId)) {
71
+				throw new InstapagoException('El parámetro "publicKeyId" es requerido para procesar la petición.');
72
+			}
73
+
74
+			$this->publicKeyId = $publicKeyId;
75
+			$this->keyId = $keyId;
76
+		} catch (InstapagoException $e) {
77
+			echo $e->getMessage();
78
+		} // end try/catch
79
+	}
80 80
 
81 81
  // end construct
82 82
 
83
-    /**
84
-     * Crear un pago
85
-     * Efectúa un pago con tarjeta de crédito, una vez procesado retornar una respuesta.
86
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#crear-un-pago.
87
-     */
88
-    public function payment($amount, $description, $cardHolder, $cardHolderId, $cardNumber, $cvc, $expirationDate, $statusId, $ipAddres)
89
-    {
90
-        try {
91
-            $params = [$amount, $description, $cardHolder, $cardHolderId, $cardNumber, $cvc, $expirationDate, $statusId, $ipAddres];
92
-            $this->checkRequiredParams($params);
93
-
94
-            $this->amount = $amount;
95
-            $this->description = $description;
96
-            $this->cardHolder = $cardHolder;
97
-            $this->cardHolderId = $cardHolderId;
98
-            $this->cardNumber = $cardNumber;
99
-            $this->cvc = $cvc;
100
-            $this->expirationDate = $expirationDate;
101
-            $this->statusId = $statusId;
102
-            $this->ipAddres = $ipAddres;
103
-
104
-            $url = $this->root.'payment'; // endpoint
105
-
106
-            $fields = [
107
-                'KeyID'             => $this->keyId, //required
108
-                'PublicKeyId'       => $this->publicKeyId, //required
109
-                'amount'            => $this->amount, //required
110
-                'description'       => $this->description, //required
111
-                'cardHolder'        => $this->cardHolder, //required
112
-                'cardHolderId'      => $this->cardHolderId, //required
113
-                'cardNumber'        => $this->cardNumber, //required
114
-                'cvc'               => $this->cvc, //required
115
-                'expirationDate'    => $this->expirationDate, //required
116
-                'statusId'          => $this->statusId, //required
117
-                'IP'                => $this->ipAddres, //required
118
-            ];
119
-
120
-            $obj = $this->curlTransaccion($url, $fields);
121
-            $result = $this->checkResponseCode($obj);
122
-
123
-            return $result;
124
-        } catch (InstapagoException $e) {
125
-            echo $e->getMessage();
126
-        } // end try/catch
127
-    }
83
+	/**
84
+	 * Crear un pago
85
+	 * Efectúa un pago con tarjeta de crédito, una vez procesado retornar una respuesta.
86
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#crear-un-pago.
87
+	 */
88
+	public function payment($amount, $description, $cardHolder, $cardHolderId, $cardNumber, $cvc, $expirationDate, $statusId, $ipAddres)
89
+	{
90
+		try {
91
+			$params = [$amount, $description, $cardHolder, $cardHolderId, $cardNumber, $cvc, $expirationDate, $statusId, $ipAddres];
92
+			$this->checkRequiredParams($params);
93
+
94
+			$this->amount = $amount;
95
+			$this->description = $description;
96
+			$this->cardHolder = $cardHolder;
97
+			$this->cardHolderId = $cardHolderId;
98
+			$this->cardNumber = $cardNumber;
99
+			$this->cvc = $cvc;
100
+			$this->expirationDate = $expirationDate;
101
+			$this->statusId = $statusId;
102
+			$this->ipAddres = $ipAddres;
103
+
104
+			$url = $this->root.'payment'; // endpoint
105
+
106
+			$fields = [
107
+				'KeyID'             => $this->keyId, //required
108
+				'PublicKeyId'       => $this->publicKeyId, //required
109
+				'amount'            => $this->amount, //required
110
+				'description'       => $this->description, //required
111
+				'cardHolder'        => $this->cardHolder, //required
112
+				'cardHolderId'      => $this->cardHolderId, //required
113
+				'cardNumber'        => $this->cardNumber, //required
114
+				'cvc'               => $this->cvc, //required
115
+				'expirationDate'    => $this->expirationDate, //required
116
+				'statusId'          => $this->statusId, //required
117
+				'IP'                => $this->ipAddres, //required
118
+			];
119
+
120
+			$obj = $this->curlTransaccion($url, $fields);
121
+			$result = $this->checkResponseCode($obj);
122
+
123
+			return $result;
124
+		} catch (InstapagoException $e) {
125
+			echo $e->getMessage();
126
+		} // end try/catch
127
+	}
128 128
 
129 129
  // end payment
130 130
 
131
-    /**
132
-     * Completar Pago
133
-     * Este método funciona para procesar un bloqueo o pre-autorización
134
-     * para así procesarla y hacer el cobro respectivo.
135
-     * Para usar este método es necesario configurar en `payment()` el parametro statusId a 1
136
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#completar-pago.
137
-     */
138
-
139
-    public function continuePayment($idPago, $amount)
140
-    {
141
-        try {
142
-            $params = [$idPago, $amount];
143
-            $this->checkRequiredParams($params);
144
-
145
-            $this->idPago = $idPago;
146
-            $this->amount = $amount;
147
-
148
-            $url = $this->root.'complete'; // endpoint
149
-
150
-            $fields = [
151
-                'KeyID'             => $this->keyId, //required
152
-                'PublicKeyId'       => $this->publicKeyId, //required
153
-                'id'                => $this->idPago, //required
154
-                'amount'            => $this->amount, //required
155
-            ];
156
-
157
-            $obj = $this->curlTransaccion($url, $fields);
158
-            $result = $this->checkResponseCode($obj);
159
-
160
-            return $result;
161
-        } catch (InstapagoException $e) {
162
-            echo $e->getMessage();
163
-        } // end try/catch
164
-    }
131
+	/**
132
+	 * Completar Pago
133
+	 * Este método funciona para procesar un bloqueo o pre-autorización
134
+	 * para así procesarla y hacer el cobro respectivo.
135
+	 * Para usar este método es necesario configurar en `payment()` el parametro statusId a 1
136
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#completar-pago.
137
+	 */
138
+
139
+	public function continuePayment($idPago, $amount)
140
+	{
141
+		try {
142
+			$params = [$idPago, $amount];
143
+			$this->checkRequiredParams($params);
144
+
145
+			$this->idPago = $idPago;
146
+			$this->amount = $amount;
147
+
148
+			$url = $this->root.'complete'; // endpoint
149
+
150
+			$fields = [
151
+				'KeyID'             => $this->keyId, //required
152
+				'PublicKeyId'       => $this->publicKeyId, //required
153
+				'id'                => $this->idPago, //required
154
+				'amount'            => $this->amount, //required
155
+			];
156
+
157
+			$obj = $this->curlTransaccion($url, $fields);
158
+			$result = $this->checkResponseCode($obj);
159
+
160
+			return $result;
161
+		} catch (InstapagoException $e) {
162
+			echo $e->getMessage();
163
+		} // end try/catch
164
+	}
165 165
 
166 166
  // continuePayment
167 167
 
168
-    /**
169
-     * Anular Pago
170
-     * Este método funciona para procesar una anulación de un pago o un bloqueo.
171
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#anular-pago.
172
-     */
173
-    public function cancelPayment($idPago)
174
-    {
175
-        try {
176
-            $params = [$idPago];
177
-
178
-            $this->checkRequiredParams($params);
179
-
180
-            $this->idPago = $idPago;
181
-
182
-            $url = $this->root.'payment'; // endpoint
183
-
184
-            $myCurl = curl_init();
185
-            curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, 1);
186
-            curl_setopt($myCurl, CURLOPT_CUSTOMREQUEST, "DELETE");
187
-            curl_setopt($myCurl, CURLOPT_URL, $url.'?'.'KeyID='.$this->keyId.'&PublicKeyId='.$this->publicKeyId.'&id='.$this->idPago);
188
-            $server_output = curl_exec($myCurl);
189
-            curl_close($myCurl);
190
-            $obj = json_decode($server_output);
191
-            $result = $this->checkResponseCode($obj);
192
-
193
-            return $result;
194
-        } catch (InstapagoException $e) {
195
-            echo $e->getMessage();
196
-        } // end try/catch
197
-    }
168
+	/**
169
+	 * Anular Pago
170
+	 * Este método funciona para procesar una anulación de un pago o un bloqueo.
171
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#anular-pago.
172
+	 */
173
+	public function cancelPayment($idPago)
174
+	{
175
+		try {
176
+			$params = [$idPago];
177
+
178
+			$this->checkRequiredParams($params);
179
+
180
+			$this->idPago = $idPago;
181
+
182
+			$url = $this->root.'payment'; // endpoint
183
+
184
+			$myCurl = curl_init();
185
+			curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, 1);
186
+			curl_setopt($myCurl, CURLOPT_CUSTOMREQUEST, "DELETE");
187
+			curl_setopt($myCurl, CURLOPT_URL, $url.'?'.'KeyID='.$this->keyId.'&PublicKeyId='.$this->publicKeyId.'&id='.$this->idPago);
188
+			$server_output = curl_exec($myCurl);
189
+			curl_close($myCurl);
190
+			$obj = json_decode($server_output);
191
+			$result = $this->checkResponseCode($obj);
192
+
193
+			return $result;
194
+		} catch (InstapagoException $e) {
195
+			echo $e->getMessage();
196
+		} // end try/catch
197
+	}
198 198
 
199 199
  // cancelPayment
200 200
 
201
-    /**
202
-     * Información del Pago
203
-     * Consulta información sobre un pago generado anteriormente.
204
-     * Requiere como parámetro el `id` que es el código de referencia de la transacción
205
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#información-del-pago.
206
-     */
207
-    public function paymentInfo($idPago)
208
-    {
209
-        try {
210
-            $params = [$idPago];
211
-            $this->checkRequiredParams($params);
212
-
213
-            $this->idPago = $idPago;
214
-
215
-            $url = $this->root.'payment'; // endpoint
216
-
217
-            $myCurl = curl_init();
218
-            curl_setopt($myCurl, CURLOPT_URL, $url.'?'.'KeyID='.$this->keyId.'&PublicKeyId='.$this->publicKeyId.'&id='.$this->idPago);
219
-            curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, 1);
220
-            $server_output = curl_exec($myCurl);
221
-            curl_close($myCurl);
222
-            $obj = json_decode($server_output);
223
-            $result = $this->checkResponseCode($obj);
224
-
225
-            return $result;
226
-        } catch (InstapagoException $e) {
227
-            echo $e->getMessage();
228
-        } // end try/catch
229
-    }
201
+	/**
202
+	 * Información del Pago
203
+	 * Consulta información sobre un pago generado anteriormente.
204
+	 * Requiere como parámetro el `id` que es el código de referencia de la transacción
205
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#información-del-pago.
206
+	 */
207
+	public function paymentInfo($idPago)
208
+	{
209
+		try {
210
+			$params = [$idPago];
211
+			$this->checkRequiredParams($params);
212
+
213
+			$this->idPago = $idPago;
214
+
215
+			$url = $this->root.'payment'; // endpoint
216
+
217
+			$myCurl = curl_init();
218
+			curl_setopt($myCurl, CURLOPT_URL, $url.'?'.'KeyID='.$this->keyId.'&PublicKeyId='.$this->publicKeyId.'&id='.$this->idPago);
219
+			curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, 1);
220
+			$server_output = curl_exec($myCurl);
221
+			curl_close($myCurl);
222
+			$obj = json_decode($server_output);
223
+			$result = $this->checkResponseCode($obj);
224
+
225
+			return $result;
226
+		} catch (InstapagoException $e) {
227
+			echo $e->getMessage();
228
+		} // end try/catch
229
+	}
230 230
 
231 231
  // paymentInfo
232 232
 
233
-    /**
234
-     * Realiza Transaccion
235
-     * Efectúa y retornar una respuesta a un metodo de pago.
236
-     *
237
-     *@param $url endpoint a consultar
238
-     *@param $fields datos para la consulta
239
-     *
240
-     *@return $obj array resultados de la transaccion
241
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
242
-     */
243
-    public function curlTransaccion($url, $fields)
244
-    {
245
-        $myCurl = curl_init();
246
-        curl_setopt($myCurl, CURLOPT_URL, $url);
247
-        curl_setopt($myCurl, CURLOPT_POST, 1);
248
-        curl_setopt($myCurl, CURLOPT_POSTFIELDS, http_build_query($fields));
249
-        curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, true);
250
-        $server_output = curl_exec($myCurl);
251
-        curl_close($myCurl);
252
-        $obj = json_decode($server_output);
253
-
254
-        return $obj;
255
-    }
256
-
257
-    /**
258
-     * Verifica Codigo de Estado de transaccion
259
-     * Verifica y retornar el resultado de la transaccion.
260
-     *
261
-     *@param $obj datos de la consulta
262
-     *
263
-     *@return $result array datos de transaccion
264
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
265
-     */
266
-    public function checkResponseCode($obj)
267
-    {
268
-        $code = $obj->code;
269
-
270
-        if ($code == 400) {
271
-            throw new InstapagoException('Error al validar los datos enviados.');
272
-        } elseif ($code == 401) {
273
-            throw new InstapagoException('Error de autenticación, ha ocurrido un error con las llaves utilizadas.');
274
-        } elseif ($code == 403) {
275
-            throw new InstapagoException('Pago Rechazado por el banco.');
276
-        } elseif ($code == 500) {
277
-            throw new InstapagoException('Ha Ocurrido un error interno dentro del servidor.');
278
-        } elseif ($code == 503) {
279
-            throw new InstapagoException('Ha Ocurrido un error al procesar los parámetros de entrada. Revise los datos enviados y vuelva a intentarlo.');
280
-        } elseif ($code == 201) {
281
-            return [
282
-            'code'         => $code,
283
-            'msg_banco'    => $obj->message,
284
-            'voucher'      => html_entity_decode($obj->voucher),
285
-            'id_pago'      => $obj->id,
286
-            'reference'    => $obj->reference,
287
-        ];
288
-        }
289
-    }
290
-
291
-    /**
292
-     * Verifica parametros para realizar operación
293
-     * Verifica y retorna exception si algun parametro esta vacio.
294
-     *
295
-     *@param $params Array con parametros a verificar
296
-     *
297
-     *@return new InstapagoException
298
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
299
-     */
300
-    private function checkRequiredParams(array $params)
301
-    {
302
-        foreach ($params as $param) {
303
-            if (empty($param)) {
304
-                throw new InstapagoException('Parámetros faltantes para procesar el pago. Verifique la documentación.');
305
-            }
306
-        }
307
-    }
233
+	/**
234
+	 * Realiza Transaccion
235
+	 * Efectúa y retornar una respuesta a un metodo de pago.
236
+	 *
237
+	 *@param $url endpoint a consultar
238
+	 *@param $fields datos para la consulta
239
+	 *
240
+	 *@return $obj array resultados de la transaccion
241
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
242
+	 */
243
+	public function curlTransaccion($url, $fields)
244
+	{
245
+		$myCurl = curl_init();
246
+		curl_setopt($myCurl, CURLOPT_URL, $url);
247
+		curl_setopt($myCurl, CURLOPT_POST, 1);
248
+		curl_setopt($myCurl, CURLOPT_POSTFIELDS, http_build_query($fields));
249
+		curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, true);
250
+		$server_output = curl_exec($myCurl);
251
+		curl_close($myCurl);
252
+		$obj = json_decode($server_output);
253
+
254
+		return $obj;
255
+	}
256
+
257
+	/**
258
+	 * Verifica Codigo de Estado de transaccion
259
+	 * Verifica y retornar el resultado de la transaccion.
260
+	 *
261
+	 *@param $obj datos de la consulta
262
+	 *
263
+	 *@return $result array datos de transaccion
264
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
265
+	 */
266
+	public function checkResponseCode($obj)
267
+	{
268
+		$code = $obj->code;
269
+
270
+		if ($code == 400) {
271
+			throw new InstapagoException('Error al validar los datos enviados.');
272
+		} elseif ($code == 401) {
273
+			throw new InstapagoException('Error de autenticación, ha ocurrido un error con las llaves utilizadas.');
274
+		} elseif ($code == 403) {
275
+			throw new InstapagoException('Pago Rechazado por el banco.');
276
+		} elseif ($code == 500) {
277
+			throw new InstapagoException('Ha Ocurrido un error interno dentro del servidor.');
278
+		} elseif ($code == 503) {
279
+			throw new InstapagoException('Ha Ocurrido un error al procesar los parámetros de entrada. Revise los datos enviados y vuelva a intentarlo.');
280
+		} elseif ($code == 201) {
281
+			return [
282
+			'code'         => $code,
283
+			'msg_banco'    => $obj->message,
284
+			'voucher'      => html_entity_decode($obj->voucher),
285
+			'id_pago'      => $obj->id,
286
+			'reference'    => $obj->reference,
287
+		];
288
+		}
289
+	}
290
+
291
+	/**
292
+	 * Verifica parametros para realizar operación
293
+	 * Verifica y retorna exception si algun parametro esta vacio.
294
+	 *
295
+	 *@param $params Array con parametros a verificar
296
+	 *
297
+	 *@return new InstapagoException
298
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
299
+	 */
300
+	private function checkRequiredParams(array $params)
301
+	{
302
+		foreach ($params as $param) {
303
+			if (empty($param)) {
304
+				throw new InstapagoException('Parámetros faltantes para procesar el pago. Verifique la documentación.');
305
+			}
306
+		}
307
+	}
308 308
 } // end class
Please login to merge, or discard this patch.