-
Notifications
You must be signed in to change notification settings - Fork 88
Criar um multi pagamento
A criação de um multi-pagamento é idêntica à criação de um pagamento comum, com a diferença de que o objeto de pedido deve ser do tipo Multiorders e o método para criar um multipagamento deve ser o multipayments.
A variável $multiorder no exemplo é um objeto do tipo Multiorders que é o multi-pedido para qual o multi-pagamento será adicionado, você pode conferir como cadastrar um novo multi-pedido ou obter um multi-pedido já cadastrado nas seções Criar um multi-pedido ou Consultar um multi-pedido.
Note que é preciso passar o cliente, no caso passamos através da variável $customer, no exemplo ela é um objeto do tipo Customer, você pode conferir como cadastrar um novo cliente ou obter um cliente já cadastrado nas seções Cadastro de clientes e Consultar um cliente.
No caso do 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 passando true como parâmetro.
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 nesse 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 = $multiorder->multipayments()
->setCreditCardHash($hash, $customer)
->setInstallmentCount(3)
->setStatementDescriptor('teste de pag')
->setDelayCapture(false)
->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 = $multiorder->multipayments()
->setCreditCard($expiration_month, $expiration_year,$number_cc, $cvc, $customer, $store_cc)
->setInstallmentCount(3)
->setStatementDescriptor('teste de pag')
->setDelayCapture(false)
->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 = $multiorder->multipayments()
->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 = $multiorder->multipayments()
->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