Pagamento e Criação de Assinaturas #80
Closed
thiagomacklin
started this conversation in
General
Replies: 2 comments 5 replies
-
|
Bom dia @thiagomacklin tudo bem? |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
@thiagomacklin consegui fazer um teste e funcionou bem. O que pode estar acontecendo seria na chamada para a API de card_tokens que os parâmetros ou formato podem estar mal formados, deixo abaixo um exemplo que utilizei para a geração do card token: E mais abaixo deixo a implementação para o preapproval via a SDK de python: |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Bom dia! Estou com um problema para criara assinaturas com o SDK Python.
import requests
def criar_assinatura(access_token, preapproval_plan_id, card_token_id, payer_email):
url = 'https://api.mercadopago.com/preapproval'
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json'
}
data = {
"auto_recurring": {
"frequency": 1,
"frequency_type": "months",
"start_date": "2024-07-30T00:00:00Z",
"end_date": "2025-07-30T23:59:59Z",
"transaction_amount": 3.99,
"currency_id": "BRL"
},
"back_url": "https://www.teste.com",
"card_token_id": card_token_id,
"external_reference": "Produto-1234",
"payer_email": payer_email,
"preapproval_plan_id": preapproval_plan_id,
"reason": "Assinatura do Produto 1234",
"status": "authorized"
}
response = requests.post(url, headers=headers, json=data)
return response.json()
def obter_card_token_id(card_data, access_token):
url = 'https://api.mercadopago.com/v1/card_tokens'
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers, json=card_data)
return response.json()
access_token = 'YYYYYYYYYYYYY'
payer_email = 'comprador@gmail.com'
card_data = {
"card_number": "5031433215406351",
"card_expiration_month": "11",
"card_expiration_year": "2025",
"card_security_code": "123",
"cardholder_name": "APRO",
"identification_type": "DNI",
"identification_number": "12345678909"
}
ID do plano de assinatura existente
preapproval_plan_id = 'XXXXXXXXX'
card_token = obter_card_token_id(card_data, access_token)
print("Card Token ID:", card_token)
card_token_id = card_token.get('id')
if card_token_id:
assinatura = criar_assinatura(access_token, preapproval_plan_id, card_token_id, payer_email)
print("Assinatura Criada:", assinatura)
else:
print("Não foi possível obter o token do cartão.")
Ele sempre me retorna Assinatura Criada: {'message': 'Card token service not found', 'status': 404}
Podem me ajudar com essa criação de assinatura? O plano é que o cliente escolha seu plano em um Sistema Django, seja direcionado para o chekout e assim que concluir o pagamento o sistema habilite o usuário para realizar o login.
Beta Was this translation helpful? Give feedback.
All reactions