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
-
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 = '[email protected]'
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