mercadopago
mercadopago
import requests
import json
import uuid
from django.urls import reverse_lazy
import logging
class MercadoPago():
logger = logging.getLogger(__name__)
base_url = "https://api.mercadopago.com"
def get_token(self):
return os.getenv('MERCADOPAGO_TOKEN')
url = "{0}/checkout/preferences".format(self.base_url)
payload = json.dumps({
"items": [
{
"title": "Sesión de coaching con {0}".format(purchase.coach),
"description": "Sesión de coaching con {0}".format(purchase.coach),
"picture_url": "http://www.myapp.com/myimage.jpg",
"quantity": int(1),
"currency_id": os.getenv('MERCADOPAGO_CURRENCY_ID'),
"category_id": os.getenv('MERCADOPAGO_CATEGORY_ID'),
"unit_price": float(purchase.total_amount)
}
],
"payer": {
"phone": {},
"identification": {},
"address": {}
},
"external_reference": str(uuid.uuid4()),
"back_urls": {
"success": "",
"pending": "",
"failure": ""
},
})
headers = {
'Authorization': 'Bearer {0}'.format(self.get_token()),
'Content-Type': 'application/json'
}
url = "{0}/v1/payments".format(self.base_url)
data = json.loads(request.body)
payload = json.dumps({
"additional_info": {
"items": [
{
"title": "Sesión de coaching con {0}".format(purchase.coach),
"description": "Sesión de coaching con
{0}".format(purchase.coach),
"picture_url": "http://www.myapp.com/myimage.jpg",
"quantity": int(1),
"category_id": "MLC1540",
"unit_price": float(purchase.total_amount)
}
],
},
"transaction_amount": float(purchase.total_amount),
"token": data["token"]['token'],
"description": "Sesión de coaching con {0}".format(purchase.coach),
"installments": int(data["installments"] or 1),
"payment_method_id": data["payment_method_id"],
"payer": {
"email": data["payer"]["email"],
"identification": {
"type": data["payer"]["identification"]["type"],
"number": data["payer"]["identification"]["number"]
},
"first_name": "{0}".format(purchase.profile)
}
})
headers = {
'Authorization': 'Bearer {0}'.format(self.get_token()),
'accept': 'application/json',
'content-type': 'application/json',
'X-meli-session-id': "{0}".format(data['device_id'])
}
mercadopago = MercadoPago()