• Boa tarde,
    Tenho o seguinte problema.
    Estou usando a API para cobrar uma taxa de comissão por transação, conforme descrito na documentação mercadopago-connect . Todos os fluxos anteriores são feitos, como por exemplo, criar um aplicativo, se conectar com os meus usuários, Obtenha as credenciais dos meus usuários, porém no fluxo “Cobre uma comissão por transação” quando eu passo o parâmetro application_fee, estou obtendo o seguinte erro.

    
    {"message":"You cannot use application_fee with this payment.","error":"bad_request","status":400,"cause":[{"code":2059,"description":"You cannot use application_fee with this payment."

    Mas, eu não colocar o parâmetro application_fee o mesmo funciona. Gostaria de saber mais do que pode ser feito. Pois já li a documentação, procurei e não encontrei nada a respeito. Ficaria muito grato por respostas.

    O exemplo que estou utilizado é o seguinte.

    curl -X POST \
            -H 'accept: application/json' \
            -H 'content-type: application/json' \
            https://api.mercadopago.com/v1/payments?access_token=USER_AT \
            -d '{
                    "transaction_amount": 100,
                    "token": "XXXXX",
                    "description": "Thank you for payment",
                    "installments": 1,
                    "payer": {
                            "email": "xxxxx"
                    },
                    "payment_method_id": "visa",
                    "application_fee": 2.56
            }'

    Att.

    • This topic was modified 9 years, 6 months ago by 9jorge.
Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Author Mercado Pago

    (@mercadopago)

    Oi 9jorge,
    Tudo bem?

    No caso de você já ter criado sua aplicação, você já habilitou o modo marketplace? Se não, no link que você informou da documentação, vá na seção “Crie sua aplicação” e ao criar a aplicação, marque o checkbox “MP Connect / Marketplace mode”.

    Estamos à disposição 🙂

    Thread Starter 9jorge

    (@9jorge)

    Olá tudo bem, obrigado pela resposta,

    Sim a opção “MP Connect / Marketplace mode” está habilitada na aplicação. Porém sem sucesso até o momento.

    Thread Starter 9jorge

    (@9jorge)

    Olá tudo bem, obrigado pela resposta,

    Sim a opção “MP Connect / Marketplace mode” está habilitada na aplicação. Porém sem sucesso até o momento.

    Plugin Author Mercado Pago

    (@mercadopago)

    Oi 9jorge,

    Por acaso você estaria utilizando suas próprias credenciais para realizar esse pagamento?

    As credenciais passadas no pagamento que contém o campo application_fee devem ser as do seus clientes, que podem ser geradas a partir de uma outra chamada, como mostra a documentação em: https://www.mercadopago.com.br/developers/pt/solutions/payments/custom-checkout/mercadopago-connect#get-credentials

    Referência: https://groups.google.com/forum/#!topic/mercadopago-developers/Lf01UOX62sg

    Thread Starter 9jorge

    (@9jorge)

    Desculpa a demora para responder.
    Eu estou usando as credenciais do meu cliente, obtida na “Obtenha as credenciais dos seus usuários”.

    Vou explicar o fluxo que estou fazendo completo, pode ser que estou errando em algum fluxo.

    1º Conecto os usuários e obtendo o authorization code, no código abaixo uso o APP_ID do meu usuário, obtido no aplication

    https://auth.mercadopago.com.br/authorization?client_id=APP_ID&response_type=code&platform_id=mp&redirect_uri=http%3A%2F%2Fwww.URL_de_retorno.com

    2º ) Obtendo o AUTHORIZATION_CODE eu uso ele para fazer obter as credenciais do meu usuário
    usando o seguinte código:

    curl -X POST \
         -H 'accept: application/json' \
         -H 'content-type: application/x-www-form-urlencoded' \
         'https://api.mercadopago.com/oauth/token' \
         -d 'client_secret=ACCESS_TOKEN' \  // Token de acesso do meu usuário.
         -d 'grant_type=authorization_code' \
         -d 'code=AUTHORIZATION_CODE' \     // aqui eu uso o AUTHORIZATION_CODE obtido no passo anterior.
         -d 'redirect_uri=REDIRECT_URI'
    

    3º ) Com isso ele me retorna o seguinte :

    
    {
        "access_token": "USER_AT",
        "public_key": "USER_PK",
        "refresh_token": "USER_RT",
        "live_mode": false,
        "user_id": 123456789,
        "token_type": "bearer",
        "expires_in": 15768000,
        "scope": "offline_access read write"
    }
    

    4º ) Até aqui tudo está funcionando conforme a documentação, porém no próximo passo, eu uso o que eu obtive no passo 3º que é o public_key, para gerar o token de acesso do meu usuário que é “Obtenha os dados do cartão do seu cliente” e “Obtenha o token de uso único para o cartão” link https://www.mercadopago.com.br/developers/pt/solutions/payments/custom-checkout/charge-with-creditcard/javascript/. Para isso eu sigo os passos do checkout transparente onde eu faço um HTTP POST passando o public_key obtido no passo 3 e os dados do meu usuário, e assim obtendo o token.

    5º ) A partir daí eu faço o fluxo de pagamento, cobrando uma comissão,

    curl -X POST \
            -H 'accept: application/json' \
            -H 'content-type: application/json' \
            https://api.mercadopago.com/v1/payments?access_token=USER_AT \ // obtido no passo 3º
            -d '{
                    "transaction_amount": 100,
                    "token": "xxx", // Aqui eu passo o token obtido no passo 4º 
                    "description": "Title of what you are paying for",
                    "installments": 1,
                    "payer": {
                            "email": "xxxx"
                    },
                    "payment_method_id": "visa",
                    "application_fee": 2.56
            }'

    E quando eu executo o código acima é que apresenta a mensagem.

    Bom, é esse o fluxo que estou fazendo. Mais até o momento, não consegui prosseguir.

    Thread Starter 9jorge

    (@9jorge)

    Boa tarde, essa opção de usar o application_fee só poderá ser utilizada em modo de produção ?

    Fico no aguardo para mais esclarecimentos.

    Att

    Plugin Author Mercado Pago

    (@mercadopago)

    Oi @9jorge,

    Estou fechando esta thread por não ser um tópico do plugin, e sim uma pergunta/suporte de implementação.

    Ainda, creio já termos conversado e finalizado este assunto via email.

    Qualquer dúvida estamos à disposição.
    Abs

    Olá, @9jorge.

    Você conseguiu resolver o problema? Eu estou na mesma situação.

Viewing 8 replies - 1 through 8 (of 8 total)

The topic ‘Split Payment (MercadoPago Connect)’ is closed to new replies.