Skip to content

ma1onso/epayco-python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epayco

Python wrapper for Epayco API

Description

API to interact with Epayco https://epayco.co/docs/api/

Installation

If you want clone the repository, point it directly into our GitHub project:

$ git clone https://github.com/epayco/epayco-python.git

Run the file setup.py

$ sudo python3 setup.py install

Usage

import pyepayco.epayco as epayco

options={
  "apiKey": "491d6a0b6e992cf924edd8d3d088aff1",
  "privateKey": "268c8e0162990cf2ce97fa7ade2eff5a",
  "test": True,
  "lenguage": "ES"
}

objepayco = epayco.Epayco(options)

Create Token

credit_info = {
  "card[number]": "4575623182290326",
  "card[exp_year]": "2019",
  "card[exp_month]": "07",
  "card[cvc]": "123"
}

token = objepayco.token.create(credit_info)

Customers

Create

customer_info = {
  "token_card": "eXj5Wdqgj7xzvC7AR",
  "name": "Joe Doe",
  "email": "joe@payco.co",
  "phone": "3005234321",
  "default": true
}

customer = objepayco.customer.create(customer_info)

Retrieve

customer = objepayco.customer.get("eXj5Wdqgj7xzvC7AR")

List

customers = objepayco.customer.getlist()

Update

customer = test.customer.update(
    "eXj5Wdqgj7xzvC7AR", {"name": "Alex"}
)

Plans

Create

plan_info = {
  "id_plan": "coursereact",
  "name": "Course react js",
  "description": "Course react and redux",
  "amount": 30000,
  "currency": "cop",
  "interval": "month",
  "interval_count": 1,
  "trial_days": 30
}

plan = objepayco.plan.create(plan_info)

Retrieve

plan = objepayco.plan.get("coursereact")

List

planes = objepayco.plan.getlist()

Remove

plan = objepayco.plan.delete("coursereact")

Subscriptions

Create

subscription_info = {
    "id_plan": "coursereact2",
    "customer": "9xRxhaJ2YmLTkT5uz",
    "token_card": "eXj5Wdqgj7xzvC7AR",
    "doc_type": "CC",
    "doc_number": "5234567"
}

sub = objepayco.subscriptions.create(subscription_info)

Retrieve

subscription = objepayco.subscriptions.get("efPXtZ5r4nZRoPtjZ")

List

subscriptions = objepayco.subscriptions.getlist()

Cancel

subscription = objepayco.subscriptions.cancel("fayE66HxYbxWydaN8")

Pay Subscription

sub = objepayco.subscriptions.charge({
  "id_plan": "coursereact",
  "customer": "A6ZGiJ6rgxK5RB2WT",
  "token_card": "eXj5Wdqgj7xzvC7AR",
  "doc_type": "CC",
  "doc_number": "1000000"

})

PSE

Create

pse_info = {
  "bank": "1007",
  "invoice": "1472050778",
  "description": "pay test",
  "value": "10000",
  "tax": "0",
  "tax_base": "0",
  "currency": "COP",
  "type_person": "0",
  "doc_type": "CC",
  "doc_number": "10000000",
  "name": "testing",
  "last_name": "PAYCO",
  "email": "no-responder@payco.co",
  "country": "CO",
  "cell_phone": "3010000001",
  "ip": "186.116.10.133",
  "url_response": "https://tudominio.com/respuesta.php",
  "url_confirmation": "https://tudominio.com/confirmacion.php",
  "method_confirmation": "GET",
}

pse = objepayco.bank.create(pse_info)

Retrieve

pse = objepayco.bank.pseTransaction("transactionID")

Split Payments

pse_info = {
#Other customary parameters...
  "splitpayment":"true",
   "split_app_id":"P_CUST_ID_CLIENTE APPLICATION",
   "split_merchant_id":"P_CUST_ID_CLIENTE COMMERCE",
   "split_type" : "02",
   "split_primary_receiver" : "P_CUST_ID_CLIENTE APPLICATION",
   "split_primary_receiver_fee":"10"
 }

pse_split = objepayco.bank.create(pse_info)

Cash

Create

cash_info = {
    "invoice": "1472050778",
    "description": "pay test",
    "value": "20000",
    "tax": "0",
    "tax_base": "0",
    "currency": "COP",
    "type_person": "0",
    "doc_type": "CC",
    "doc_number": "100000",
    "name": "testing",
    "last_name": "PAYCO",
    "email": "test@mailinator.com",
    "cell_phone": "3010000001",
    "end_date": "2019-12-05",
    "ip": "186.116.10.133",
    "url_response": "https://tudominio.com/respuesta.php",
    "url_confirmation": "https://tudominio.com/confirmacion.php",
    "method_confirmation": "GET",

}

cash = objepayco.cash.create('efecty',cash_info)
cash = objepayco.cash.create('baloto',cash_info)
cash = objepayco.cash.create('gana',cash_info)

Retrieve

cash = epayco.cash.get("ref_payco")

Split Payments

cash_info = {
#Other customary parameters...
  "splitpayment":"true",
   "split_app_id":"P_CUST_ID_CLIENTE APPLICATION",
   "split_merchant_id":"P_CUST_ID_CLIENTE COMMERCE",
   "split_type" : "02",
   "split_primary_receiver" : "P_CUST_ID_CLIENTE APPLICATION",
   "split_primary_receiver_fee":"10"
 }

cash_info_split = objepayco.cash.create('efecty',cash_info)

Payment

Create

payment_info = {
  "token_card": "eXj5Wdqgj7xzvC7AR",
  "customer_id": "A6ZGiJ6rgxK5RB2WT",
  "doc_type": "CC",
  "doc_number": "1000000",
  "name": "John",
  "last_name": "Doe",
  "email": "example@email.com",
  "ip": "192.198.2.114",
  "bill": "OR-1234",
  "description": "Test Payment",
  "value": "119000",
  "tax": "19000",
  "tax_base": "100000",
  "currency": "COP",
  "dues": "12"
}

pay = objepayco.charge.create(payment_info)

Retrieve

pay = epayco.charge.get("ref_payco")

Split Payments

payment_info = {
#Other customary parameters...
  "splitpayment":"true",
   "split_app_id":"P_CUST_ID_CLIENTE APPLICATION",
   "split_merchant_id":"P_CUST_ID_CLIENTE COMMERCE",
   "split_type" : "02",
   "split_primary_receiver" : "P_CUST_ID_CLIENTE APPLICATION",
   "split_primary_receiver_fee":"10"
 }

pay_split = objepayco.charge.create(payment_info)

About

SDK para python pagos con tarjeta de credito, debito y cash

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%