https://github.com/0xbepresent/django-khipu
Integración de Django con pagos Khipu
https://github.com/0xbepresent/django-khipu
django-khipu khipu pagos-khipu payment
Last synced: 3 months ago
JSON representation
Integración de Django con pagos Khipu
- Host: GitHub
- URL: https://github.com/0xbepresent/django-khipu
- Owner: 0xbepresent
- License: mit
- Created: 2017-12-27T02:34:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-10T20:00:21.000Z (over 5 years ago)
- Last Synced: 2025-02-17T10:49:49.256Z (4 months ago)
- Topics: django-khipu, khipu, pagos-khipu, payment
- Language: Python
- Size: 44.9 KB
- Stars: 4
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Django-Khipu
==================
[](https://travis-ci.org/misalabs/django-khipu)
[](https://coveralls.io/github/misalabs/django-khipu?branch=master)Aplicacion de integracion entre Django y [Pagos Khipu](https://khipu.com/).
Instalación
===========
```
$ pip install django-khipu
```Configuración
==============* Variables en settings.py de tu proyecto Django.
* Indentificador único de la cuenta de cobro:
KHIPU_RECEIVER_ID = '236987'
* Llave secreta y única de la cuenta de cobro:
KHIPU_SECRET_KEY = '9kmbf4fckm81f9892a291a12d0m10cdf389'* Poner khipu en tus INSTALLED_APPS.
* Crear las migraciones necesarias para obtener la tabla de datos de Khipu en tu proyecto.
```
$ python manage.py migrate khipu
```* Referenciar en tu proyecto las URLs de Khipu:
```
urlpatterns = [
url(r'^khipu/', include('khipu.urls')),
]
```Uso mediante API
================Usar el servicio para crear las URLs de pago y obtener el JSON de URL's Khipu
y usarlas donde quieras.
```
>> from khipu.api import Khipu
>> khipu = Khipu()
>> result = khipu.service('CreatePayment', **{
'subject': 'Esto es un pago de pruebas',
'currency': 'CLP',
'amount': '3000.0000',
'notify_url': request.build_absolute_uri(reverse('khipu_verificacion'))
})
>> {u'payment_id': u'weyayhnbmker', u'app_url': u'khipu:///pos/weyayhnbmker', u'ready_for_terminal': False, u'payment_url': u'https://khipu.com/payment/info/weyayhnbmker', u'simplified_transfer_url': u'https://app.khipu.com/payment/simplified/weyayhnbmker', u'transfer_url': u'https://khipu.com/payment/manual/weyayhnbmker'}
```Uso mediante Django-Forms
================Usar el formulario pre-armado para crear botones facilmente.
```
>> from khipu.forms import KhipuCreatePaymentForm
>> form_payment_khipu = KhipuCreatePaymentForm(**{
'subject': 'Esto es un pago de pruebas via Django-Form',
'currency': 'CLP',
'amount': '6000.0000',
'notify_url': request.build_absolute_uri(reverse('khipu_verificacion'))
})
return render(request, 'carro.html', {'form_payment_khipu': form_payment_khipu})
```
Y en el Template Django hacer:
```
{{form_payment_khipu.render}}
```Servicios
=========
Descripción de los servicios que pueden usarse para interactuar con Khipu.* GetBanks: Obtener los bancos disponibles que el pagador puede usar.
* 'CreatePayment'. Crear la orden de pago en Khipu y que nos devuelvan las URLs.
* Se pueden enviar los siguientes parametros:
* subject (obligatorio)
* currency (obligatorio)
* amount (obligatorio)
* transaction_id
* custom
* body
* bank_id
* return_url
* cancel_url
* picture_url
* notify_url
* contract_url
* notify_api_version
* expires_date
* send_email
* payer_name
* send_reminders
* responsible_user_email
* fixed_payer_personal_identifier
* integrator_fee
* Se reciben los siguientes parametros por parte de Khipu:
* payment_id
* payment_url
* simplified_transfer_url
* transfer_url
* app_url
* ready_for_terminalSignals
======Signals los cuales el Proyecto Django puede recibir para saber ciertas cosas:
- payment_successful: Cuando el pago es "done" y hay que entregarle el bien o servicio al pagador.
- payment_amount_error: Existe un error con el monto que dijimos que pagara y el monto que nos llego. Hay que revisar ya que muy probablemente tiene que reembolsarse el dinero.
- payment_receiver_id_error: Existe un error con el receiver_id pues no es el mismo que nosotros usamos. Es un error muy raro y hay que revisar ya que muy probablemente tiene que reembolsarse el dinero.Tests
=====Para ejecutar los tests hay que tener instalado django, requests y mock.
```
$ python run_tests.py
```Contacto
========
[email protected]