Checkout

Para criar um pedido com checkout, devemos incluir o objeto checkout dentro do nó payment, assim como a propriedade "payment_method": "checkout". O objeto checkout contêm as seguintes propriedades:

Atributos

Tipo

Descrição

accepted_payment_method

array of string

Meios de pagamento aceitos para o checkout. Valores possíveis: credit_card, debit_card, boleto, voucher e bank_transfer, pix.

accepted_multi_payment_methods

array of array of string

Meios de pagamentos aceitos para permitir ao cliente a opção de multimeios. Valores possíveis: credit_card, boleto e credit_card, credit_card .

default_payment_method

string

Meio de pagamento padrão.

success_url

string

URL para redirecionamento de sucesso.

debit_card

object

_Configurações para pagamento com cartão de débito. Saiba mais sobre cartão de débito.

credit_card

object

Configurações para pagamento com cartão de crédito.

credit_card.capture

boolean

Indica se a transação deve ser capturada ou somente autorizada. Caso seja true, o valor é capturado simultaneamente à autorização.

credit_card.statement_descriptor

string

Texto da fatura do cartão.

credit_card.installments

array of objects

Array de configurações de parcelas.

credit_card.installments.number

number

Quantidade de parcelas.

credit_card.installments.total

number

Valor total referente à quantidade de parcelas.

boleto

object

Configurações para pagamento com boleto.

boleto.due_at

string

Data de vencimento do boleto.

boleto.instructions

string

Instruções do boleto.

skip_checkout_success_page

boolean

Permite pular a tela de redirecionamento pós pagamento.

customer_editable

boolean

Torna o objeto do cliente editável.

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.Saiba mais sobre metadata.

bank_transfer

object

Configurações para pagamento via transferência bancária.

bank_transfer.bank

array of objects

Array de configurações para indicar quais bancos serão utilizados para a transferência bancária.

expires_in

integer

Tempo, em minutos, para a expiração do checkout. Caso não seja enviado, o checkout não irá expirar.

billing_address_editable

boolean

Torna o objeto billing address editável.

billing_address

object

Configuração para endereço de cobrança.

voucher

object

Configurações para pagamento com voucher. Saiba mais sobre voucher.

pix

object

Configurações para pagamento com PIX
Saiba mais sobre PIX

{
   "items":[
      {
         "amount":2990,
         "description":"Chaveiro do Tesseract",
         "quantity":1
      }
   ],
   "customer":{
      "name":"Tony Stark",
      "email":"[email protected]"
   },
   "payments":[
      {
         "payment_method":"checkout",
         "amount":2000,
         "checkout": {
           "customer_editable" : false,
           "skip_checkout_success_page": true,
           "accepted_payment_methods": [ "credit_card", "boleto", "bank_transfer", "voucher","debit_card"],
           "accepted_multi_payment_methods": [ 
                    ["credit_card","credit_card"],
                    ["credit_card","boleto"]
                    ],
           "success_url": "https://www.mundipagg.com",
           "bank_transfer": {
             "bank": ["237", "001", "341"]
           },
           "boleto": {
             "bank": "033",
             "instructions": "Pagar até o vencimento",
             "due_at": "2020-07-25T00:00:00Z"
         },
           "credit_card": {
              "capture": true,
              "statement_descriptor": "Desc na fatura",
              "installments": [
                {
                  "number": 1,
                  "total": 2000
                },
                {
                  "number": 2,
                  "total": 2500
                }
             ]
           },"voucher":{
                "capture": true,
                "statement_descriptor": "Mundipagg"
           },
          "debit_card": {
             "authentication":{
               "statement_descriptor": "Desc na fatura",
               "type":"threed_secure",
               "threed_secure":{
                 "mpi":"acquirer",
                 "success_url":"http://www.mundipagg.com"
               }
             }
           }
         }
      }
   ]
}
{
  "id": "or_3AQ5bRgsyzfe5KEr",
  "code": "Z9GQZSVHX8",
  "amount": 2990,
  "currency": "BRL",
  "closed": false,
  "items": [
    {
      "id": "oi_1Y6DxKAUNXtvgMOW",
      "type": "product",
      "description": "Chaveiro do Tesseract",
      "amount": 2990,
      "quantity": 1,
      "status": "active",
      "created_at": "2020-07-06T22:53:47Z",
      "updated_at": "2020-07-06T22:53:47Z"
    }
  ],
  "customer": {
    "id": "cus_QaJd1LRfxF0g3KDP",
    "name": "Tony Stark",
    "email": "[email protected]",
    "delinquent": false,
    "created_at": "2020-07-06T22:42:09Z",
    "updated_at": "2020-07-06T22:42:09Z",
    "phones": {}
  },
  "status": "pending",
  "created_at": "2020-07-06T22:53:47Z",
  "updated_at": "2020-07-06T22:53:47Z",
  "checkouts": [
    {
      "id": "chk_GmMAkj7h2U6ONrW5",
      "currency": "BRL",
      "amount": 2000,
      "status": "open",
      "success_url": "https://www.mundipagg.com",
      "payment_url": "https://api.mundipagg.com/checkout/v1/orders/chk_GmMAkj7h2U6ONrW5",
      "customer_editable": false,
      "billing_address_editable": true,
      "skip_checkout_success_page": true,
      "shippable": false,
      "created_at": "2020-07-06T22:53:47Z",
      "updated_at": "2020-07-06T22:53:47Z",
      "accepted_payment_methods": [
        "credit_card",
        "boleto",
        "bank_transfer",
        "voucher",
        "debit_card"
      ],
      "accepted_multi_payment_methods": [
        [
          "credit_card",
          "credit_card"
        ],
        [
          "credit_card",
          "boleto"
        ]
      ],
      "customer": {
        "id": "cus_QaJd1LRfxF0g3KDP",
        "name": "Tony Stark",
        "email": "[email protected]",
        "delinquent": false,
        "created_at": "2020-07-06T22:42:09Z",
        "updated_at": "2020-07-06T22:42:09Z",
        "phones": {}
      },
      "credit_card": {
        "capture": true,
        "statementDescriptor": "Desc na fatura",
        "statement_descriptor": "Desc na fatura",
        "authentication": {
          "type": "none",
          "threed_secure": {}
        },
        "installments": [
          {
            "number": 1,
            "total": 2000
          },
          {
            "number": 2,
            "total": 2500
          }
        ]
      },
      "debit_card": {
        "authentication": {
          "type": "threed_secure",
          "threed_secure": {
            "mpi": "acquirer",
            "success_url": "http://www.mundipagg.com"
          }
        }
      },
      "boleto": {
        "due_at": "2020-07-25T00:00:00Z",
        "instructions": "Pagar até o vencimento"
      },
      "voucher": {
        "capture": true,
        "statement_descriptor": "Mundipagg"
      },
      "billing_address": {},
      "metadata": {}
    }
  ]
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$orderController = $apiClient->getOrders();

$customer = new \MundiAPILib\Models\CreateCustomerRequest();
$customer->name = "Tony Stark";
$customer->email = "[email protected]";

$checkout = new \MundiAPILib\Models\CreateCheckoutPaymentRequest();
$checkout->customerEditable = false;
$checkout->skipCheckoutSuccessPage = true;
$checkout->acceptedPaymentMethods = ["credit_card", "boleto", "bank_transfer", "debit_card"];
$checkout->acceptedMultiPaymentMethods = [["credit_card", "credit_card"], ["credit_card", "boleto"]];
$checkout->successUrl = "https://www.mundipagg.com";

//Bank transfer payment Setup;
$checkout->bankTransfer = new \MundiAPILib\Models\CreateCheckoutBankTransferRequest();
$checkout->bankTransfer->bank = ["237", "001", "341"];

//Boleto Payment Setup;
$checkout->boleto = new \MundiAPILib\Models\CreateCheckoutBoletoPaymentRequest();
$checkout->boleto->bank = "033";
$checkout->boleto->instructions ="Pagar ate o vencimento";
$checkout->boleto->dueAt = new \DateTime("2021-07-25T00:00:00Z");

//Credit Card Payment Setup;
$checkout->creditCard = new \MundiAPILib\Models\CreateCheckoutCreditCardPaymentRequest();
$checkout->creditCard->capture = true;
$checkout->creditCard->statement_descriptor = "Descriptor example";
$checkout->creditCard->installments = [ //Credit card installments Setup
    new \MundiAPILib\Models\CreateCheckoutCardInstallmentOptionRequest(),
    new \MundiAPILib\Models\CreateCheckoutCardInstallmentOptionRequest()
];
// installment 1;
$checkout->creditCard->installments[0]->number = 1;
$checkout->creditCard->installments[0]->total = 2000;
// installment 2 with extra tax of 500;
$checkout->creditCard->installments[1]->number = 1;
$checkout->creditCard->installments[1]->total = 2500;

// Debit Card Payment Setup;
$checkout->debitCard = new \MundiAPILib\Models\CreateCheckoutDebitCardPaymentRequest();
// Debit card Authentication Setup;
$checkout->debitCard->authentication = new \MundiAPILib\Models\CreatePaymentAuthenticationRequest();
$checkout->debitCard->authentication->type = 'threed_secure';
$checkout->debitCard->authentication->threedSecure = new \MundiAPILib\Models\CreateThreeDSecureRequest();
$checkout->debitCard->authentication->threedSecure->mpi = "acquirer";
$checkout->debitCard->authentication->threedSecure->successUrl = "https://www.mundipagg.com";

$request = new \MundiAPILib\Models\CreateOrderRequest();

$request->items = [new \MundiAPILib\Models\CreateOrderItemRequest()];
$request->items[0]->description = "Tesseract Bracelet";
$request->items[0]->quantity = 1;
$request->items[0]->amount = 2990; // this value should be in cents

$request->payments = [new \MundiAPILib\Models\CreatePaymentRequest()];
$request->payments[0]->amount = 2000; // this value should be in cents
$request->payments[0]->paymentMethod = "checkout";
$request->payments[0]->checkout = $checkout;
$request->customer = $customer;

$result = new \MundiAPILib\Models\GetOrderResponse();
$result->checkouts = [new \MundiAPILib\Models\GetCheckoutPaymentResponse()];
$result = $orderController->createOrder($request);

echo json_encode($result, JSON_PRETTY_PRINT);
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "SUA_SECRET_KEY:"
orders_controller = orders_controller.OrdersController()

customer = create_customer_request.CreateCustomerRequest()
customer.name = "Tony Stark"
customer.email = "[email protected]"

checkout = create_checkout_payment_request.CreateCheckoutPaymentRequest()
checkout.customer_editable = False
checkout.skip_checkout_success_page = True
checkout.accepted_payment_methods = ["credit_card", "boleto", "bank_transfer", "debit_card"]
checkout.accepted_multi_payment_methods = [["credit_card", "credit_card"], ["credit_card", "boleto"]]
checkout.success_url = "https://www.mundipagg.com"

#Bank transfer payment Setup
checkout.bank_transfer = create_checkout_bank_transfer_request.CreateCheckoutBankTransferRequest()
checkout.bank_transfer.bank = ["237", "001", "341"]

#Boleto Payment Setup
checkout.boleto = create_checkout_boleto_payment_request.CreateCheckoutBoletoPaymentRequest()
checkout.boleto.bank = "033"
checkout.boleto.instructions ="Pagar ate o vencimento"
checkout.boleto.due_at = "2021-07-25T00:00:00Z"

#Credit Card Payment Setup
checkout.credit_card = create_checkout_credit_card_payment_request.CreateCheckoutCreditCardPaymentRequest()
checkout.credit_card.capture = True
checkout.credit_card.statement_descriptor = "Descriptor example"
checkout.credit_card.installments = [ # Credit card installments Setup
    create_checkout_card_installment_option_request.CreateCheckoutCardInstallmentOptionRequest(),
    create_checkout_card_installment_option_request.CreateCheckoutCardInstallmentOptionRequest()]
# installment 1
checkout.credit_card.installments[0].number = 1
checkout.credit_card.installments[0].total = 2000
# installment 2 with extra tax of 500
checkout.credit_card.installments[1].number = 1
checkout.credit_card.installments[1].total = 2500

# Debit Card Payment Setup
checkout.debit_card = create_checkout_debit_card_payment_request.CreateCheckoutDebitCardPaymentRequest()
# Debit card Authentication Setup
checkout.debit_card.authentication = create_payment_authentication_request.CreatePaymentAuthenticationRequest()
checkout.debit_card.authentication.mtype = 'none'
checkout.debit_card.authentication.threed_secure = create_three_d_secure_request.CreateThreeDSecureRequest()
checkout.debit_card.authentication.threed_secure.mpi = "acquirer"
checkout.debit_card.authentication.threed_secure.success_url = "https://www.mundipagg.com"

request = create_order_request.CreateOrderRequest()
request.code = "test-SDK-python"
request.items = [create_order_item_request.CreateOrderItemRequest()]
request.items[0].description = "Tesseract Bracelet"
request.items[0].quantity = 1
request.items[0].amount = 2990

request.payments = [create_payment_request.CreatePaymentRequest()]
request.payments[0].amount = 2000
request.payments[0].payment_method = "checkout"
request.payments[0].checkout = checkout
request.customer = customer

try:
    result = get_order_response.GetOrderResponse()
    result.checkouts = [get_checkout_payment_response.GetCheckoutPaymentResponse()]
    result = orders_controller.create_order(request)
    print("Order id: ", result.id)
    print("Checkout id: ", result.checkouts[0].id)
    print("Order result status: ", result.status)
    print("Checkout payment url: ", result.checkouts[0].payment_url)
    assert result.status == "pending"
    assert result.checkouts[0].boleto is not None
    assert result.checkouts[0].credit_card is not None
    assert result.checkouts[0].debit_card is not None
    assert result.checkouts[0].bank_transfer is not None
    assert result.checkouts[0].payment_url is not None
except ErrorException as ex:
    print("\n")
    print("Error Message: ", ex.message)
    print("Status code Response: ", ex.response_code)
    if(ex.errors is not None):
        print("Errors: ", ex.errors)
except Exception as ex:
    raise ex

❗️

CHECKOUT APLICA-SE APENAS A PEDIDOS

É importante notar que o meio de pagamento checkout é suportado somente por pedidos, não podendo ser utilizado em cobranças.