Implementar con PHP Framework, mas especificamente Laravel?

Hola tengo que crear una pagina web de ecommerce y queria utilizar este api para los pagos, pero leyendo la documentacion quede un poco confundida. Yo estoy utilizan Laravel con Vue.js para crear la pagina. Yo instale la libreria de node.js y viendo esta pagina http://docs.payments.4geeks.io/?javascript#introduccion estoy un poco confundida de como implementar el codigo y realizar pruebas.

Por el momento yo puse esta parte del codigo en esta ruta del projecto resources/js/app.js pero realmente no se si va ahi o no.

const gpayments = require('gpayments')

const gpApi = gpayments({
    clientId: 'NbL...',
    clientSecret: 'InjAsPP...'
})

Cualquier ayuda seria genial!

Hola como estas? creo que tienes lista la parte de auth entonces puedes ir a la parte de implementar un cargo, para pruebas se utiliza el simplecharge, puedes utilizar la tarjetas de pruebas que se muestran en la documentacion, la fecha solo tiene que ser una valida y el ccv solo tres digitos al azar.

1 Like

Hola! Sí, como comenta Fabricio en ese pgApi lo que te guarda es un token de auth que sólo es necesario generar una vez, no cada vez que se haga un pago porque te puede generar un error si se trata de autenticar varias veces seguidas. Luego para probar transacciones y la conexión con el api tienes que agregar:

const payment = await gpApi.charges.create({
amount: 90.32,
description: ‘Plan 1 service charge’,
entity_description: ‘Plan 1’,
currency: ‘usd’,
credit_card_number: 4242424242424242,
credit_card_security_code_number: 123,
exp_month: 11,
exp_year: 2020
})

Eso ejecuta un Simple Charge y en ese payment deberías obtener toda la información de la transacción. Las tarjetas de prueba según marca pueden consultar acá: http://docs.payments.4geeks.io/?javascript#test-card-numbers-and-brand

1 Like

Hola Fabricio, si dejo el codigo ahi donde lo tengo alguien lo puede lograr ver realmente no esta seguro ponerlo ahi por eso pregunte si realmente el codigo va ahi. En otras palabras la parte del auto no esta. Mi pregunta es donde dentro de Laravel hago esas llamadas al gpApi, en los controladores se usa PHP no JS.

Juan,

Luego para probar transacciones y la conexión con el api tienes que agregar:

Donde pongo eso, esa es mi duda principal, como Laravel es un framework de PHP no se usa codigo JS principalmente sino PHP, pense que por tener una libreria de node.js se podria usar en Laravel que tambien usa librerias de node.

La parte del auth tambien tengo dudas porque donde lo puse esta incorrecto y no queda seguro alguien podria ver las credenciales.

Cual seria la solucion para utilizar 4Geeks con PHP o que puedo hacer?

4Geeks Payments trabaja en backend, por lo que deberías crear controladores en tu codigo PHP/Laravel que, al invocarse a través de POST, éste haga la petición a 4Geeks Payments.

Actualmente no conozco una libreria para Laravel, pero puedes crear la tuya propia basandose en http://docs.payments.4geeks.io/#create-a-simple-charge

Si alguno de la comunidad está trabajando en una librería para Laravel, por favor comentar aqui.

Una consulta, como hago en la parte de authenticacion para obtener el access_token ya que ahi no menciona el endpoint al cual apuntar.

4Geeks Payments utiliza oAuth2 por lo tanto asegurate de enviar 
grant_type= **client_credentials** . Ademas, debes enviar 
client_id= **<4geeks-payments-client-id>** , 
client_secret= **<4geeks-payments-client-secret>** .

Esto te retornará un access_token, el cual necesitas enviar en 
cada solicitud de ahora en adelante.

Recuerda nunca tener estas credenciales visibles para nadie, nunca 
subas esto a repositirios como GitHub ni mucho menos los compartas. 
Lo recomendable es utilizar dichas credenciales en variables de ambiente.

 Asegurate de remplazar  `<4geeks-payments-client-id>` , 
 `<4geeks-payments-client-secret>`  con el client_id y client_secret 
que te brindamos.

Cual seria el proceso para el access_token?