Flow Meteor
Flow es una plataforma de pagos que te permite realizar pagos vía webpay.
Instrucciones
meteor add nicolaslopezj:flow
Obtener key
Para obtener la key debes entrar a https://www.flow.cl/app/web/misDatos.php y hacer click en el boton descargar certificado.
Para el ambiente de pruebas debes entrar a http://flow.tuxpan.com/app/web/misDatos.php y hacer click en el boton descargar certificado.
Configurar
1import {setConfig} from 'meteor/nicolaslopezj:flow'; 2 3setConfig({ 4 baseUrl: 'http://myapp.com/', 5 successUrl: 'http://myapp.com/success', 6 failureUrl: 'http://myapp.com/failure', 7 key: Assets.getText('comercio.pem'), 8 publicKey: Assets.getText('flow.pubkey'), 9 email: 'myemail@mail.com', 10 confirm: myConfirmFunction, 11 paymentTypes: 1, 12});
- baseUrl: La url del sitio web. Se necesita para que flow confirme el pago.
En caso de estar en ambiente local, hay abrir los puertos desde el router y poner
la ip publica. Ej: http://190.161.223.246:3000
.
- successUrl: Url donde va a llegar el usuario cuando el pago se realice
correctamente.
-
failureUrl: Url donde va a llegar el usuario cuando el pago tenga algun error.
-
key: La privada llave que entrega flow a cada comercio. Si la guardas en la
carpeta private
de la app puedes usar Assets.getText('comercio.pem')
para obtenerla.
- publicKey: La privada publica de Flow.
-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAx0BVTE0HmmtEDfKydMLF YrfRsQPY6B8fYeNtl76GHLZyhSl3+MzYKdic9oJbvDm2Co9x6zNgUEzEA1RmjZ9H yVS5mJEj0VRM2Ydx2kfG33bjmwsWSoasPNnCeIvApYZWRVsKICIVrH5wUqky3Jku 4grLynflGO0rYYC+mOcqbr+9/tJ/bDX0fFcNFHNz1xRcca32A/jZXd2N4W80vPrD uUqy5uqaQEIX65EP1y/wmNaM6nK8WprgkX1Qi5xeN7ikaDEROiYLbZedz+FxqBOL nvETvFAmDWFjQeb0+ppDoA3dZPW7oebnyLALGSJVmia+Ig3OsKFmf6F67ygN+4R/ gJESLyS92kvGpbJGSc130FKt2wmLhO0YmFNzNF4s01hHgigVuVG6OqNdYCtvNbQH tIcBnUOUyma3Z0zKAH3lPW4nOljM9uNihG32UNlGeV9d/UmjqvVvLy5MbeEEsEw2 LqXH9cGZVjDxt+Qq5y2Mw2/v0E9v+7CyTkUxhU6iY0xXSpajFnoIAQpCY/NhPGQu N9cFJxGY1EB7cVp8nZzZIWo7u9lsoEDqG93ugmqA/mFSsevn0qUTJinSbbxjiXyo 1hU4TLtGY9myYeljO5uoLn1Kps5950U/tilNh8LJALwVniJuO+E+CeQgLuD/lNAv vlOeisrct5CChy8/+tfL5fcCAwEAAQ== -----END PUBLIC KEY-----
-
email: El email de la cuenta de flow.
-
confirm: Una función que se llamará para que la aplicación verifique que el
pago esta correcto. Debe retornar true
para que el pago se apruebe, si retorna
un string, este sera el mensaje de error.
- paymentTypes: Ingrese aquí el medio de pago, Solo Webpay = 1, Solo
Servipag = 2, Todos los medios de pago = 9;
Crear nuevos pagos
1import {newOrder} from 'meteor/nicolaslopezj:flow'; 2 3Meteor.methods({ 4 createOrder: function ({ amount, description, buyerEmail }) { 5 const order = newOrder({ 6 amount, 7 description, 8 buyerEmail, 9 paymentType: 1, 10 successUrl: 'success', 11 failureUrl: 'failure', 12 meta: { 13 productId: 'myProductId', 14 }, 15 }); 16 17 console.log('New payment generated', order.paymentId); 18 return order.pack; 19 }, 20});
Confirmar pagos
1/** 2 * El monto ya fue verificado al llamar esta funcion 3 */ 4export default confirm = function (payment) { 5 console.log('confirming payment', payment); 6 7 // payment.meta.paymentId 8 9 //return 'No products lefts'; 10 return true; 11};
Ejemplo
Este proyecto esta dentro de una aplicacion meteor que puedes usar para probar.