Completed
Push — master ( e086dd...8c9a49 )
by angel
8s
created
Instapago/InstapagoGateway/InstapagoPayment.php 1 patch
Indentation   +234 added lines, -234 removed lines patch added patch discarded remove patch
@@ -35,253 +35,253 @@
 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()
174
-    {
175
-        // TODO
176
-    }
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()
174
+	{
175
+		// TODO
176
+	}
177 177
 
178 178
  // cancelPayment
179 179
 
180
-    /**
181
-     * Información del Pago
182
-     * Consulta información sobre un pago generado anteriormente.
183
-     * Requiere como parámetro el `id` que es el código de referencia de la transacción
184
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#información-del-pago.
185
-     */
186
-    public function paymentInfo($idPago)
187
-    {
188
-        try {
189
-            $params = [$idPago];
190
-            $this->checkRequiredParams($params);
191
-
192
-            $this->idPago = $idPago;
193
-
194
-            $url = $this->root.'payment'; // endpoint
195
-
196
-            $myCurl = curl_init();
197
-            curl_setopt($myCurl, CURLOPT_URL, $url.'?'.'KeyID='.$this->keyId.'&PublicKeyId='.$this->publicKeyId.'&id='.$this->idPago);
198
-            curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, 1);
199
-            $server_output = curl_exec($myCurl);
200
-            curl_close($myCurl);
201
-            $obj = json_decode($server_output);
202
-            $result = $this->checkResponseCode($obj);
203
-
204
-            return $result;
205
-        } catch (InstapagoException $e) {
206
-            echo $e->getMessage();
207
-        } // end try/catch
208
-    }
180
+	/**
181
+	 * Información del Pago
182
+	 * Consulta información sobre un pago generado anteriormente.
183
+	 * Requiere como parámetro el `id` que es el código de referencia de la transacción
184
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#información-del-pago.
185
+	 */
186
+	public function paymentInfo($idPago)
187
+	{
188
+		try {
189
+			$params = [$idPago];
190
+			$this->checkRequiredParams($params);
191
+
192
+			$this->idPago = $idPago;
193
+
194
+			$url = $this->root.'payment'; // endpoint
195
+
196
+			$myCurl = curl_init();
197
+			curl_setopt($myCurl, CURLOPT_URL, $url.'?'.'KeyID='.$this->keyId.'&PublicKeyId='.$this->publicKeyId.'&id='.$this->idPago);
198
+			curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, 1);
199
+			$server_output = curl_exec($myCurl);
200
+			curl_close($myCurl);
201
+			$obj = json_decode($server_output);
202
+			$result = $this->checkResponseCode($obj);
203
+
204
+			return $result;
205
+		} catch (InstapagoException $e) {
206
+			echo $e->getMessage();
207
+		} // end try/catch
208
+	}
209 209
 
210 210
  // paymentInfo
211 211
 
212
-    /**
213
-     * Realiza Transaccion
214
-     * Efectúa y retornar una respuesta a un metodo de pago.
215
-     *
216
-     *@param $url endpoint a consultar
217
-     *@param $fields datos para la consulta
218
-     *
219
-     *@return $obj array resultados de la transaccion
220
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
221
-     */
222
-    public function curlTransaccion($url, $fields)
223
-    {
224
-        $myCurl = curl_init();
225
-        curl_setopt($myCurl, CURLOPT_URL, $url);
226
-        curl_setopt($myCurl, CURLOPT_POST, 1);
227
-        curl_setopt($myCurl, CURLOPT_POSTFIELDS, http_build_query($fields));
228
-        curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, true);
229
-        $server_output = curl_exec($myCurl);
230
-        curl_close($myCurl);
231
-        $obj = json_decode($server_output);
232
-
233
-        return $obj;
234
-    }
235
-
236
-    /**
237
-     * Verifica Codigo de Estado de transaccion
238
-     * Verifica y retornar el resultado de la transaccion.
239
-     *
240
-     *@param $obj datos de la consulta
241
-     *
242
-     *@return $result array datos de transaccion
243
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
244
-     */
245
-    public function checkResponseCode($obj)
246
-    {
247
-        $code = $obj->code;
248
-
249
-        if ($code == 400) {
250
-            throw new InstapagoException('Error al validar los datos enviados.');
251
-        } elseif ($code == 401) {
252
-            throw new InstapagoException('Error de autenticación, ha ocurrido un error con las llaves utilizadas.');
253
-        } elseif ($code == 403) {
254
-            throw new InstapagoException('Pago Rechazado por el banco.');
255
-        } elseif ($code == 500) {
256
-            throw new InstapagoException('Ha Ocurrido un error interno dentro del servidor.');
257
-        } elseif ($code == 503) {
258
-            throw new InstapagoException('Ha Ocurrido un error al procesar los parámetros de entrada. Revise los datos enviados y vuelva a intentarlo.');
259
-        } elseif ($code == 201) {
260
-            return [
261
-            'code'         => $code,
262
-            'msg_banco'    => $obj->message,
263
-            'voucher'      => html_entity_decode($obj->voucher),
264
-            'id_pago'      => $obj->id,
265
-            'reference'    => $obj->reference,
266
-        ];
267
-        }
268
-    }
269
-
270
-    /**
271
-     * Verifica parametros para realizar operación
272
-     * Verifica y retorna exception si algun parametro esta vacio.
273
-     *
274
-     *@param $params Array con parametros a verificar
275
-     *
276
-     *@return new InstapagoException
277
-     * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
278
-     */
279
-    private function checkRequiredParams(array $params)
280
-    {
281
-        foreach ($params as $param) {
282
-            if (empty($param)) {
283
-                throw new InstapagoException('Parámetros faltantes para procesar el pago. Verifique la documentación.');
284
-            }
285
-        }
286
-    }
212
+	/**
213
+	 * Realiza Transaccion
214
+	 * Efectúa y retornar una respuesta a un metodo de pago.
215
+	 *
216
+	 *@param $url endpoint a consultar
217
+	 *@param $fields datos para la consulta
218
+	 *
219
+	 *@return $obj array resultados de la transaccion
220
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
221
+	 */
222
+	public function curlTransaccion($url, $fields)
223
+	{
224
+		$myCurl = curl_init();
225
+		curl_setopt($myCurl, CURLOPT_URL, $url);
226
+		curl_setopt($myCurl, CURLOPT_POST, 1);
227
+		curl_setopt($myCurl, CURLOPT_POSTFIELDS, http_build_query($fields));
228
+		curl_setopt($myCurl, CURLOPT_RETURNTRANSFER, true);
229
+		$server_output = curl_exec($myCurl);
230
+		curl_close($myCurl);
231
+		$obj = json_decode($server_output);
232
+
233
+		return $obj;
234
+	}
235
+
236
+	/**
237
+	 * Verifica Codigo de Estado de transaccion
238
+	 * Verifica y retornar el resultado de la transaccion.
239
+	 *
240
+	 *@param $obj datos de la consulta
241
+	 *
242
+	 *@return $result array datos de transaccion
243
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
244
+	 */
245
+	public function checkResponseCode($obj)
246
+	{
247
+		$code = $obj->code;
248
+
249
+		if ($code == 400) {
250
+			throw new InstapagoException('Error al validar los datos enviados.');
251
+		} elseif ($code == 401) {
252
+			throw new InstapagoException('Error de autenticación, ha ocurrido un error con las llaves utilizadas.');
253
+		} elseif ($code == 403) {
254
+			throw new InstapagoException('Pago Rechazado por el banco.');
255
+		} elseif ($code == 500) {
256
+			throw new InstapagoException('Ha Ocurrido un error interno dentro del servidor.');
257
+		} elseif ($code == 503) {
258
+			throw new InstapagoException('Ha Ocurrido un error al procesar los parámetros de entrada. Revise los datos enviados y vuelva a intentarlo.');
259
+		} elseif ($code == 201) {
260
+			return [
261
+			'code'         => $code,
262
+			'msg_banco'    => $obj->message,
263
+			'voucher'      => html_entity_decode($obj->voucher),
264
+			'id_pago'      => $obj->id,
265
+			'reference'    => $obj->reference,
266
+		];
267
+		}
268
+	}
269
+
270
+	/**
271
+	 * Verifica parametros para realizar operación
272
+	 * Verifica y retorna exception si algun parametro esta vacio.
273
+	 *
274
+	 *@param $params Array con parametros a verificar
275
+	 *
276
+	 *@return new InstapagoException
277
+	 * https://github.com/abr4xas/php-instapago/blob/master/help/DOCUMENTACION.md#PENDIENTE
278
+	 */
279
+	private function checkRequiredParams(array $params)
280
+	{
281
+		foreach ($params as $param) {
282
+			if (empty($param)) {
283
+				throw new InstapagoException('Parámetros faltantes para procesar el pago. Verifique la documentación.');
284
+			}
285
+		}
286
+	}
287 287
 } // end class
Please login to merge, or discard this patch.