-
Notifications
You must be signed in to change notification settings - Fork 90
Criar um pagamento
Nos exemplos abaixo criaremos pagamentos para um pedido já criado, cada um com um método de pagamento diferente.
A variável $order
, no exemplo, é um objeto do tipo Orders
, que é o pedido no qual o pagamento será adicionado. Você pode conferir como cadastrar um novo pedido ou obter um pedido já cadastrado nas seções Criar um pedido ou Consultar um pedido.
No caso de um pagamento por cartão de crédito, note que é preciso passar o pagador (portador do cartão), através da variável $holder
, que carrega um objeto do tipo Holder
.
Para pagamentos feitos por cartão de crédito, é possível parcelar, por isso o método setInstallmentCount
determina o número de parcelas. Também é possível criar pagamentos pré-autorizados usando o método setDelayCapture
.
Sem a certificação PCI é necessário criptografar os dados sensíveis do cartão para dar mais segurança às transações. Você pode encontrar como criptografar seus dados neste link. Após a criptografia nós usaremos a hash gerada no método setCreditCardHash
.
try {
$hash = 'i1naupwpTLrCSXDnigLLTlOgtm+xBWo6iX54V/hSyfBeFv3rvqa1VyQ8/pqWB2JRQX2GhzfGppXFPCmd/zcmMyDSpdnf1GxHQHmVemxu4AZeNxs+TUAbFWsqEWBa6s95N+O4CsErzemYZHDhsjEgJDe17EX9MqgbN3RFzRmZpJqRvqKXw9abze8hZfEuUJjC6ysnKOYkzDBEyQibvGJjCv3T/0Lz9zFruSrWBw+NxWXNZjXSY0KF8MKmW2Gx1XX1znt7K9bYNfhA/QO+oD+v42hxIeyzneeRcOJ/EXLEmWUsHDokevOkBeyeN4nfnET/BatcDmv8dpGXrTPEoxmmGQ==';
$payment = $order->payments()
->setCreditCardHash($hash, $holder)
->setInstallmentCount(3)
->setStatementDescriptor('teste de pag')
->execute();
print_r($payment);
} catch (Exception $e) {
printf($e->__toString());
}
Com a certificação PCI o método que deve ser usado para pagamentos com cartão de crédito é osetCreditCard
.
try {
$expiration_month = 12;
$expiration_year = 21;
$number_cc = '4073020000000002';
$cvc = '123';
$store_cc = true;
$payment = $order->payments()
->setCreditCard($expiration_month, $expiration_year,$number_cc, $cvc, $holder, $store_cc)
->setInstallmentCount(3)
->setStatementDescriptor('teste de pag')
->execute();
print_r($payment);
} catch (Exception $e) {
printf($e->__toString());
}
No pagamento com boleto são enviados apenas 3 parâmetros:
- URL do logo que você deseja que apareça, representada abaixo com a variável:
$logo_uri
; - Data de vencimento, representada pela variável
$expiration_date
; - Linhas de instrução do boleto, são apenas 3 linhas. Representadas pela variável
$instruction_lines
, que é um array.
$logo_uri = 'https://cdn.moip.com.br/wp-content/uploads/2016/05/02163352/logo-moip.png';
$expiration_date = new DateTime();
$instruction_lines = ['INSTRUÇÃO 1', 'INSTRUÇÃO 2', 'INSTRUÇÃO 3'];
try {
$payment = $order->payments()
->setBoleto($expiration_date, $logo_uri, $instruction_lines)
->execute();
print_r($payment);
} catch (Exception $e) {
printf($e->__toString());
}
No pagamento por débito online também são enviados apenas 3 parâmetros:
- URL do logo que você deseja que apareça, representada abaixo com a variável:
$return_uri
; - Data de vencimento, representada pela variável
$expiration_date
; - Número do banco representado pela variável
$bank_number
.
try {
$bank_number = '001';
$return_uri = 'https://moip.com.br';
$expiration_date = new DateTime();
$payment = $order->payments()
->setOnlineBankDebit($bank_number, $expiration_date, $return_uri)
->execute();
print_r($payment);
} catch (Exception $e) {
printf($e->__toString());
}
Intro
Clientes
Pedidos
Pagamentos
- Criar um pagamento
- Criar um pagamento com custódia
- Criar um pedido com split de pagamentos
- Consultar um pagamento
- Capturar um pagamento pré-autorizado
- Cancelar um pagamento pré-autorizado
Reembolsos
Custódia
Multi-pedidos
Multi-pagamentos
OAuth (Moip Connect)
Conta Moip
Lançamentos
Transferências
Webhooks e Notificações