Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Django app for consuming Unionbank of the Philippines API

Project description

django_unionbank

Django Unionbank is the library for easily integrating and consuming the Unionbank of the Philippines API with your Django Application. As of now this has been used in production for Partner Accounts(Corporate) Fund Transfers (UBP, Instapay, PESOnet) and will eventually add Customer Account services as well. Codebase is functioning but still for standard refactoring, testing and packaging for PIP :)

Quick Start

  1. To install, use pip::

     pip install django_unionbank
    
  2. Add django_unionbank to you INSTALLED_APPS settings like this:

     INSTALLED_APPS = [
     ...,
    
     'django_unionbank',
    
     ...
     ]
    
  3. Configure django_unionbank by adding these to your settings.py::

     USE_UNIONBANK_ONLINE=True
     UNIONBANK_CLIENT_ID=<REPLACE WITH CLIENT ID>
     UNIONBANK_CLIENT_SECRET=<REPLACE WITH CLIENT SECRET>
     UNIONBANK_PARTNER_ID=<REPLACE WITH PARTNER ID>
     UNIONBANK_API_MODE=<CHOOSE FROM SANDBOX, UAT, PROD>
     UNIONBANK_USERNAME=<REPLACE USERNAME>
     UNIONBANK_PASSWORD=<REPLACE PASSWORD>
    
  4. Library allows you to have certain models used to save FundTransfer Data, SandBox Accounts, Data of Instapay and PESONet banks available. For now, saving data in the database is required to function. To do this:

     python manage.py migrate django_unionbank
    

Usage

Partner Transfers

  1. Unionbank Partner Account to Unionbank Account Fund Transfer

    partner_funds_transfer

     from django_unionbank.api.identity.partner_funds_transfer
     
     transfer, message = partner_funds_transfer(token, account_number, amount, remarks="Partner Payout")
    

    Parameters:

    • token: [str] Partner access token you can retrieve using get_partner_token method
    • account_number: [str] Valid Unionbank Account Number
    • remarks: [str] Remarks for the specific transaction
    • amount:[str/decimal] Amount to transfer
    • currency: [str] default='PHP' Object containing additional info you want to include in transaction
    • info: [list] Object containing additional info you want to include in transaction

    Returns:

    • transfer = FundTransfer object. Check models.py

    • message = Response message

        sample_info = [
            {
                "index": "1",
                "name": "Recipient",
                "value": "Juan dela Cruz"
            },
            {
                "index": "2",
                "name": "Message",
                "value": "Sample Message"
            },
            {
                "index": "3",
                "name": "Custom Info",
                "value": "Custom Value"
            }
        ]        
      
  2. Unionbank Partner Account InstaPay Transfer

    partner_instapay_fund_transfer

     from django_unionbank.api.instapay.partner_instapay_fund_transfer
     
     transfer, message = partner_instapay_fund_transfer(token, data)
    

    Parameters:

    • token: [str] Partner access token you can retrieve using get_partner_token method
    • data: [list] Information regarding transfer to be made in the following prescribed format

    Returns:

    • transfer = FundTransfer object. Check models.py

    • message = Response message

      data = { 'sender_name': <[str] SENDER NAME>, 'sender_address': { "line1": <[str]>, "line2": <[str]>, "city": <[str]>, "province": <[str]>, "zipCode": <[str]>, "country": <[str]> }, 'beneficiary_account': <[str] RECIPIENT ACCOUNT NUMBER>, 'beneficiary_name': <[str] RECIPIENT ACCOUNT NAME>, 'beneficiary_address': { "line1": <[str]>, "line2": <[str]>, "city": <[str]>, "province": <[str]>, "zipCode": <[str]>, "country": <[str]> }, 'remittance_amount': <[str/decimal] TRANSFER AMOUNT>, 'remittance_bank': <[int] InstaPay bank code - see "update_instapay_banks" method for list of valid codes> 'remittance_purpose': <1001 or 1002 or 1003>, 'remittance_instructions': <[str] Insstructions here> }

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-unionbank, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size django_unionbank-0.1.1.tar.gz (14.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page