Skip to content

Devoluciones

zodiacfireworks edited this page Mar 7, 2021 · 1 revision

Devoluciones

Consulta la documentación de Culqi en https://apidocs.culqi.com/#/devoluciones

def get_refund_data(kind, provider):
    token_data = deepcopy(Data.CARD[kind][provider])
    token = culqi.token.create(data=token_data)

    charge_data = deepcopy(Data.CHARGE)
    charge_data["source_id"] = token["data"]["id"]
    charge = culqi.charge.create(data=charge_data)

    refund_data = deepcopy(Data.REFUND)
    refund_data["charge_id"] = charge["data"]["id"]

    return refund_data

Listar

refund_list = culqi.refund.list(
    data={
        "limit": 1,
    },
    headers={
        "Accept-Encoding": "identity",
    },
)

display(refund_list)
{
    "status": 200,
    "data": {
        "paging": {
            "previous": "https://api.culqi.com/v2/refunds?limit=1&before=ref_test_NIKAx4LD0hRx8tv3",
            "next": "https://api.culqi.com/v2/refunds?limit=1&after=ref_test_NIKAx4LD0hRx8tv3",
            "cursors": {
                "before": "ref_test_NIKAx4LD0hRx8tv3",
                "after": "ref_test_NIKAx4LD0hRx8tv3"
            },
            "remaining_items": null
        },
        "items": [
            {
                "object": "refund",
                "id": "ref_test_NIKAx4LD0hRx8tv3",
                "charge_id": "chr_test_pmmqoIHBNpxTPLQk",
                "creation_date": 1615131607000,
                "amount": 100,
                "reason": "Devolución solicitada por el comercio",
                "metadata": {}
            }
        ]
    }
}

Crear

refund_data = get_refund_data("successful", "visa")
refund = culqi.refund.create(data=refund_data)

display(refund)
{
    "status": 201,
    "data": {
        "object": "refund",
        "id": "ref_test_Bot8onvJGFK2D0zX",
        "charge_id": "chr_test_sT8485Ik7QBskbvl",
        "creation_date": 1615131614000,
        "amount": 100,
        "reason": "Devolución solicitada por el comercio",
        "metadata": {}
    }
}

Leer

refund_id = refund["data"]["id"]
refund = culqi.refund.read(id_=refund_id)

display(refund)
{
    "status": 200,
    "data": {
        "object": "refund",
        "id": "ref_test_Bot8onvJGFK2D0zX",
        "charge_id": "chr_test_sT8485Ik7QBskbvl",
        "creation_date": 1615131614000,
        "amount": 100,
        "reason": "Devolución solicitada por el comercio",
        "metadata": {}
    }
}

Actualizar

refund_id = refund["data"]["id"]
refund_metadata = {
    "metadata": {
        "orderId": 1234567890
    }
}
refund = culqi.refund.update(id_=refund_id, data=refund_metadata)

display(refund)
{
    "status": 200,
    "data": {
        "object": "refund",
        "id": "ref_test_Bot8onvJGFK2D0zX",
        "charge_id": "chr_test_sT8485Ik7QBskbvl",
        "creation_date": 1615131614000,
        "amount": 100,
        "reason": "Devolución solicitada por el comercio",
        "metadata": {
            "orderId": "1234567890"
        }
    }
}

Clone this wiki locally