-
Notifications
You must be signed in to change notification settings - Fork 0
Suscripciones
zodiacfireworks edited this page Mar 7, 2021
·
1 revision
Consulta la documentación de Culqi en https://apidocs.culqi.com/#/suscripciones
def get_subscription_data(code, provider):
email = "richard{0}@piedpiper.com".format(uuid4().hex[:4])
token_data = deepcopy(Data.CARD[code][provider])
token_data["email"] = email
token = culqi.token.create(data=token_data)
customer_data = deepcopy(Data.CUSTOMER)
customer_data["email"] = email
customer = culqi.customer.create(data=customer_data)
card_data = {
"token_id": token["data"]["id"],
"customer_id": customer["data"]["id"],
}
card = culqi.card.create(data=card_data)
plan_data = deepcopy(Data.PLAN)
plan_data["name"] = "plan-{0}".format(uuid4().hex[:4])
plan = culqi.plan.create(data=plan_data)
return {
"card_id": card["data"]["id"],
"plan_id": plan["data"]["id"],
}subscription_list = culqi.subscription.list(
data={
"limit": 1,
},
headers={
"Accept-Encoding": "identity",
},
)
display(subscription_list){
"status": 200,
"data": {
"paging": {
"previous": "https://api.culqi.com/v2/subscriptions?limit=1&before=sub_test_utqKrxgouUh0IL76",
"next": "https://api.culqi.com/v2/subscriptions?limit=1&after=sub_test_utqKrxgouUh0IL76",
"cursors": {
"before": "sub_test_utqKrxgouUh0IL76",
"after": "sub_test_utqKrxgouUh0IL76"
},
"remaining_items": 30
},
"items": [
{
"object": "subscription",
"id": "sub_test_utqKrxgouUh0IL76",
"creation_date": 1615129729000,
"status": "Activa",
"current_period": 0,
"total_period": 10,
"current_period_start": 1617685200000,
"current_period_end": 1617858000000,
"cancel_at_period_end": false,
"cancel_at": null,
"ended_at": 1619413200000,
"next_billing_date": 1617685200000,
"trial_start": 1615129729000,
"trial_end": 1617721729000,
"charges": [],
"plan": {
"object": "plan",
"id": "pln_test_QIFyiFRhv4wuhMxZ",
"creation_date": 1615129728000,
"name": "plan-7274",
"amount": 1000,
"currency_code": "PEN",
"interval_count": 2,
"interval": "Días",
"limit": 10,
"trial_days": 30,
"total_subscriptions": 1,
"metadata": {}
},
"card": {
"object": "card",
"id": "crd_test_tiP6jsig6txtNlK9",
"active": true,
"creation_date": 1615129727000,
"customer_id": "cus_test_atem3d4M6YsKrrW7",
"source": {
"object": "token",
"id": "tkn_test_FCVsMz64M0YXU5R4",
"type": "card",
"creation_date": 1615129722000,
"email": "richard8b67@piedpiper.com",
"card_number": "411111******1111",
"last_four": "1111",
"active": true,
"iin": {
"object": "iin",
"bin": "411111",
"card_brand": "Visa",
"card_type": "credito",
"card_category": "Clásica",
"issuer": {
"name": "BBVA",
"country": "PERU",
"country_code": "PE",
"website": null,
"phone_number": null
},
"installments_allowed": [
2,
4,
6,
8,
10,
12,
3,
5,
7,
9,
24,
48
]
},
"client": {
"ip": "191.98.182.73",
"ip_country": "Peru",
"ip_country_code": "PE",
"browser": "UNKNOWN",
"device_fingerprint": null,
"device_type": "Escritorio"
},
"metadata": {}
},
"metadata": {}
},
"metadata": {
"order_id": "0001"
}
}
]
}
}
subscription_data = get_subscription_data("successful", "visa")
subscription = culqi.subscription.create(data=subscription_data)
display(subscription){
"status": 201,
"data": {
"object": "subscription",
"id": "sub_test_fcGyWEQTh83qcZyS",
"creation_date": 1615131643000,
"status": "Activa",
"current_period": 0,
"total_period": 10,
"current_period_start": 1617685200000,
"current_period_end": 1617858000000,
"cancel_at_period_end": false,
"cancel_at": null,
"ended_at": 1619413200000,
"next_billing_date": 1617685200000,
"trial_start": 1615131643000,
"trial_end": 1617723643000,
"charges": [],
"plan": {
"object": "plan",
"id": "pln_test_wPdNqlSBErDW9vbS",
"creation_date": 1615131642000,
"name": "plan-035c",
"amount": 1000,
"currency_code": "PEN",
"interval_count": 2,
"interval": "Días",
"limit": 10,
"trial_days": 30,
"total_subscriptions": 1,
"metadata": {}
},
"card": {
"object": "card",
"id": "crd_test_yjsrR87YeJ1lLwk5",
"active": true,
"creation_date": 1615131642000,
"customer_id": "cus_test_dPj41BFoNfZ1Uzjd",
"source": {
"object": "token",
"id": "tkn_test_JEGrRw0E6DwWwjwV",
"type": "card",
"creation_date": 1615131637000,
"email": "richard5f26@piedpiper.com",
"card_number": "411111******1111",
"last_four": "1111",
"active": true,
"iin": {
"object": "iin",
"bin": "411111",
"card_brand": "Visa",
"card_type": "credito",
"card_category": "Clásica",
"issuer": {
"name": "BBVA",
"country": "PERU",
"country_code": "PE",
"website": null,
"phone_number": null
},
"installments_allowed": [
2,
4,
6,
8,
10,
12,
3,
5,
7,
9,
24,
48
]
},
"client": {
"ip": "191.98.182.73",
"ip_country": "Peru",
"ip_country_code": "PE",
"browser": "UNKNOWN",
"device_fingerprint": null,
"device_type": "Escritorio"
},
"metadata": {}
},
"metadata": {}
},
"metadata": {}
}
}
subscription_id = subscription["data"]["id"]
subscription = culqi.subscription.read(id_=subscription_id)
display(subscription){
"status": 200,
"data": {
"object": "subscription",
"id": "sub_test_fcGyWEQTh83qcZyS",
"creation_date": 1615131643000,
"status": "Activa",
"current_period": 0,
"total_period": 10,
"current_period_start": 1617685200000,
"current_period_end": 1617858000000,
"cancel_at_period_end": false,
"cancel_at": null,
"ended_at": 1619413200000,
"next_billing_date": 1617685200000,
"trial_start": 1615131643000,
"trial_end": 1617723643000,
"charges": [],
"plan": {
"object": "plan",
"id": "pln_test_wPdNqlSBErDW9vbS",
"creation_date": 1615131642000,
"name": "plan-035c",
"amount": 1000,
"currency_code": "PEN",
"interval_count": 2,
"interval": "Días",
"limit": 10,
"trial_days": 30,
"total_subscriptions": 1,
"metadata": {}
},
"card": {
"object": "card",
"id": "crd_test_yjsrR87YeJ1lLwk5",
"active": true,
"creation_date": 1615131642000,
"customer_id": "cus_test_dPj41BFoNfZ1Uzjd",
"source": {
"object": "token",
"id": "tkn_test_JEGrRw0E6DwWwjwV",
"type": "card",
"creation_date": 1615131637000,
"email": "richard5f26@piedpiper.com",
"card_number": "411111******1111",
"last_four": "1111",
"active": true,
"iin": {
"object": "iin",
"bin": "411111",
"card_brand": "Visa",
"card_type": "credito",
"card_category": "Clásica",
"issuer": {
"name": "BBVA",
"country": "PERU",
"country_code": "PE",
"website": null,
"phone_number": null
},
"installments_allowed": [
2,
4,
6,
8,
10,
12,
3,
5,
7,
9,
24,
48
]
},
"client": {
"ip": "191.98.182.73",
"ip_country": "Peru",
"ip_country_code": "PE",
"browser": "UNKNOWN",
"device_fingerprint": null,
"device_type": "Escritorio"
},
"metadata": {}
},
"metadata": {}
},
"metadata": {}
}
}
subscription_id = subscription["data"]["id"]
subscription_metadata = {
"metadata": {
"orderId": 1234567890
}
}
subscription = culqi.subscription.update(
id_=subscription_id, data=subscription_metadata
)
display(subscription){
"status": 200,
"data": {
"object": "subscription",
"id": "sub_test_fcGyWEQTh83qcZyS",
"creation_date": 1615131643000,
"status": "Activa",
"current_period": 0,
"total_period": 10,
"current_period_start": 1617685200000,
"current_period_end": 1617858000000,
"cancel_at_period_end": false,
"cancel_at": null,
"ended_at": 1619413200000,
"next_billing_date": 1617685200000,
"trial_start": 1615131643000,
"trial_end": 1617723643000,
"charges": [],
"plan": {
"object": "plan",
"id": "pln_test_wPdNqlSBErDW9vbS",
"creation_date": 1615131642000,
"name": "plan-035c",
"amount": 1000,
"currency_code": "PEN",
"interval_count": 2,
"interval": "Días",
"limit": 10,
"trial_days": 30,
"total_subscriptions": 1,
"metadata": {}
},
"card": {
"object": "card",
"id": "crd_test_yjsrR87YeJ1lLwk5",
"active": true,
"creation_date": 1615131642000,
"customer_id": "cus_test_dPj41BFoNfZ1Uzjd",
"source": {
"object": "token",
"id": "tkn_test_JEGrRw0E6DwWwjwV",
"type": "card",
"creation_date": 1615131637000,
"email": "richard5f26@piedpiper.com",
"card_number": "411111******1111",
"last_four": "1111",
"active": true,
"iin": {
"object": "iin",
"bin": "411111",
"card_brand": "Visa",
"card_type": "credito",
"card_category": "Clásica",
"issuer": {
"name": "BBVA",
"country": "PERU",
"country_code": "PE",
"website": null,
"phone_number": null
},
"installments_allowed": [
2,
4,
6,
8,
10,
12,
3,
5,
7,
9,
24,
48
]
},
"client": {
"ip": "191.98.182.73",
"ip_country": "Peru",
"ip_country_code": "PE",
"browser": "UNKNOWN",
"device_fingerprint": null,
"device_type": "Escritorio"
},
"metadata": {}
},
"metadata": {}
},
"metadata": {
"orderId": "1234567890"
}
}
}
subscription_id = subscription["data"]["id"]
deleted_subscription = culqi.subscription.delete(id_=subscription_id)
display(deleted_subscription){
"status": 200,
"data": {
"id": "sub_test_fcGyWEQTh83qcZyS",
"deleted": true,
"merchant_message": "Se eliminó la suscripcion con ID sub_test_fcGyWEQTh83qcZyS exitosamente."
}
}
SoftButterfly Development Team