PHP code example of moip / moip-sdk-php
1. Go to this page and download the library: Download moip/moip-sdk-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
moip / moip-sdk-php example snippets
use Moip\Moip;
use Moip\Auth\BasicAuth;
$token = '01010101010101010101010101010101';
$key = 'ABABABABABABABABABABABABABABABABABABABAB';
$moip = new Moip(new BasicAuth($token, $key), Moip::ENDPOINT_SANDBOX);
use Moip\Moip;
use Moip\Auth\OAuth;
$access_token = '33031e2aad484051b89030487e59d133_v2';
$moip = new Moip(new OAuth($access_token), Moip::ENDPOINT_SANDBOX);
$customer = $moip->customers()->setOwnId(uniqid())
->setFullname('Fulano de Tal')
->setEmail('[email protected] ')
->setBirthDate('1988-12-30')
->setTaxDocument('22222222222')
->setPhone(11, 66778899)
->addAddress('BILLING',
'Rua de teste', 123,
'Bairro', 'Sao Paulo', 'SP',
'01234567', 8)
->addAddress('SHIPPING',
'Rua de teste do SHIPPING', 123,
'Bairro do SHIPPING', 'Sao Paulo', 'SP',
'01234567', 8)
->create();
print_r($customer);
$customer = $moip->customers()->get('CUS-Q3BL0CAJ2G33');
print_r($customer);
$customer = $moip->customers()->creditCard()
->setExpirationMonth('05')
->setExpirationYear(2018)
->setNumber('4012001037141112')
->setCVC('123')
->setFullName('Jose Portador da Silva')
->setBirthDate('1988-12-30')
->setTaxDocument('CPF', '33333333333')
->setPhone('55','11','66778899')
->create(CUSTOMER_ID);
print_r($customer);
$moip->customers()->creditCard()->delete(CREDIT_CARD_ID);
$order = $moip->orders()->setOwnId(uniqid())
->addItem("bicicleta 1",1, "sku1", 10000)
->addItem("bicicleta 2",1, "sku2", 11000)
->addItem("bicicleta 3",1, "sku3", 12000)
->addItem("bicicleta 4",1, "sku4", 13000)
->addItem("bicicleta 5",1, "sku5", 14000)
->addItem("bicicleta 6",1, "sku6", 15000)
->addItem("bicicleta 7",1, "sku7", 16000)
->addItem("bicicleta 8",1, "sku8", 17000)
->addItem("bicicleta 9",1, "sku9", 18000)
->addItem("bicicleta 10",1, "sku10", 19000)
->setShippingAmount(3000)->setAddition(1000)->setDiscount(5000)
->setCustomer($customer)
->create();
print_r($order);
$order = $moip->orders()->get('ORD-KZCH1S1ORAH23');
print_r($order);
$orders = $this->moip->orders()->getList();
$filters = new Filters();
$filters->greaterThanOrEqual(OrdersList::CREATED_AT, '2017-08-17');
$filters->in(OrdersList::PAYMENT_METHOD, ['BOLETO', 'DEBIT_CARD']);
$filters->lessThan(OrdersList::VALUE, 100000);
$orders = $this->moip->orders()->getList(null, $filters);
$orders = $this->moip->orders()->getList(new Pagination(10,0));
$orders = $this->moip->orders()->getList(null, null, 'josé silva');
$filters = new Filters();
$filters->greaterThanOrEqual(OrdersList::CREATED_AT, '2017-08-17');
$filters->lessThan(OrdersList::VALUE, 100000);
$orders = $this->moip->orders()->getList(new Pagination(10,0), $filters, 'josé silva');
$holder = $moip->holders()->setFullname('Jose Silva')
->setBirthDate("1990-10-10")
->setTaxDocument('22222222222', 'CPF')
->setPhone(11, 66778899, 55)
->setAddress('BILLING', 'Avenida Faria Lima', '2927', 'Itaim', 'Sao Paulo', 'SP', '01234000', 'Apt 101');
$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);
$payment = $order->payments()->setCreditCard(12, 21, '4073020000000002', '123', $holder)
->execute();
print_r($payment);
$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'];
$payment = $order->payments()
->setBoleto($expiration_date, $logo_uri, $instruction_lines)
->execute();
print_r($payment);
$bank_number = '341';
$return_uri = 'https://moip.com.br';
$expiration_date = new DateTime();
$payment = $order->payments()
->setOnlineBankDebit($bank_number, $expiration_date, $return_uri)
->execute();
print_r($payment);
$payment = $moip->payments()->get('PAYMENT-ID');
print_r($payment);
$captured_payment = $payment->capture();
print_r($captured_payment);
$payment = $payment->cancel();
print_r($payment);
$refund = $payment->refunds()->creditCardFull();
print_r($refund);
$refund = $payment->refunds()->creditCardPartial(30000);
print_r($refund);
$type = 'CHECKING';
$bank_number = '001';
$agency_number = 4444444;
$agency_check_number = 2;
$account_number = 1234;
$account_check_number = 4;
$refund = $payment->refunds()
->bankAccountFull(
$type,
$bank_number,
$agency_number,
$agency_check_number,
$account_number,
$account_check_number,
$customer
);
print_r($refund);
$amount = 30000;
$type = 'SAVING';
$bank_number = '001';
$agency_number = 4444444;
$agency_check_number = 2;
$account_number = 1234;
$account_check_number = 4;
$refund = $payment->refunds()
->bankAccountPartial(
$amount,
$type,
$bank_number,
$agency_number,
$agency_check_number,
$account_number,
$account_check_number,
$customer
);
print_r($refund);
$refund = $payment->refunds()->get($refund_id);
$redirect_uri = 'http://seusite.com.br/callback.php';
$client_id = 'APP-18JTHC3LOMT9';
$scope = true;
$connect = new Connect($redirect_uri, $client_id, $scope, Connect::ENDPOINT_SANDBOX);
$connect->setScope(Connect::RECEIVE_FUNDS)
->setScope(Connect::REFUND)
->setScope(Connect::MANAGE_ACCOUNT_INFO)
->setScope(Connect::RETRIEVE_FINANCIAL_INFO);
header('Location: '.$connect->getAuthUrl());
$redirect_uri = 'http://seusite.com.br/callback.php';
$client_id = 'APP-18JTHC3LOMT9';
$scope = true;
$connect = new Connect($redirect_uri, $client_id, $scope, Connect::ENDPOINT_SANDBOX);
$client_secret = '20f76456f6ec4874a1f38082d3139326';
$connect->setClientSecret($client_secret);
$code = 'f9053ca6e9853dd73f0bc4f332a5ce337b0bb0da';
$connect->setCode($code);
$auth = $connect->authorize();
print_r($auth);
$order = $moip->orders()->setOwnId(uniqid())
->addItem("bicicleta 1",1, "sku1", 10000)
->addItem("bicicleta 2",1, "sku2", 11000)
->addItem("bicicleta 3",1, "sku3", 12000)
->addItem("bicicleta 4",1, "sku4", 13000)
->setShippingAmount(3000)
->setAddition(1000)
->setDiscount(5000)
->setCustomer($customer)
->addReceiver('MPA-VB5OGTVPCI52', 'PRIMARY', NULL);
$order2 = $moip->orders()->setOwnId(uniqid())
->addItem("bicicleta 1",1, "sku1", 10000)
->addItem("bicicleta 2",1, "sku2", 11000)
->addItem("bicicleta 3",1, "sku3", 12000)
->setShippingAmount(3000)
->setAddition(1000)
->setDiscount(5000)
->setCustomer($customer)
->addReceiver('MPA-IFYRB1HBL73Z', 'PRIMARY', NULL);
$multiorder = $this->moip->multiorders()
->setOwnId(uniqid())
->addOrder($order)
->addOrder($order2)
->create();
print_r($multiorder);
$multiorder_id = 'ORD-KZCH1S1ORAH25';
$multiorder = $moip->multiorders()->get($multiorder_id);
print_r($multiorder);
$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')
->execute();
print_r($payment);
$payment = $moip->payments()->get('MULTIPAYMENT-ID');
print_r($payment);
$street = 'Rua de teste';
$number = 123;
$district = 'Bairro';
$city = 'Sao Paulo';
$state = 'SP';
$zip = '01234567';
$complement = 'Apt. 23';
$country = 'BRA';
$area_code = 11;
$phone_number = 66778899;
$country_code = 55;
$identity_document = '4737283560';
$issuer = 'SSP';
$issue_date = '2015-06-23';
$account = $moip->accounts()
->setName('Fulano')
->setLastName('De Tal')
->setEmail('[email protected] ')
->setIdentityDocument($identity_document, $issuer, $issue_date)
->setBirthDate('1988-12-30')
->setTaxDocument('16262131000')
->setType('MERCHANT')
->setPhone($area_code, $phone_number, $country_code)
->addAlternativePhone(11, 66448899, 55)
->addAddress($street, $number, $district, $city, $state, $zip, $complement, $country)
->setCompanyName('Empresa Teste', 'Teste Empresa ME')
->setCompanyOpeningDate('2011-01-01')
->setCompanyPhone(11, 66558899, 55)
->setCompanyTaxDocument('69086878000198')
->setCompanyAddress('Rua de teste 2', 123, 'Bairro Teste', 'Sao Paulo', 'SP', '01234567', 'Apt. 23', 'BRA')
->setCompanyMainActivity('82.91-1/00', 'Atividades de cobranças e informações cadastrais')
->create();
print_r($account);
$account = $moip->accounts()->get(ACCOUNT_ID);
print_r($account);
// retorna verdadeiro se já possui e falso caso não possuir conta Moip
$moip->accounts()->checkAccountExists(CPF);
$keys = $moip->keys()->get();
print_r($keys);
$balances = $moip->balances()->get();
$bank_account = $moip->bankaccount()
->setBankNumber('237')
->setAgencyNumber('12345')
->setAgencyCheckNumber('0')
->setAccountNumber('12345678')
->setAccountCheckNumber('7')
->setType('CHECKING')
->setHolder('Demo Moip', '622.134.533-22', 'CPF')
->create($moip_account_id);
$bank_account = $moip->bankaccount()->get($bank_account_id);
$bank_accounts = $moip->bankaccount()->getList($account_id)->getBankAccounts();
$bank_account = $moip->bankaccount()
->setAccountCheckNumber('8')
->update($bank_account_id);
$moip->bankaccount()->delete($bank_account_id);
$notification = $moip->notifications()->addEvent('ORDER.*')
->addEvent('PAYMENT.AUTHORIZED')
->setTarget('http://requestb.in/1dhjesw1')
->create();
print_r($notification);
$notification = $this->moip->notifications()->get('NPR-N6QZE3223P98');
print_r($notification);
$notification = $moip->notifications()->delete('NOTIFICATION-ID');
print_r($notification);
$notifications = $moip->notifications()->getList();
print_r($notifications);
// Pega o RAW data da requisição
$json = file_get_contents('php://input');
// Converte os dados recebidos
$response = json_decode($json, true);
$moip->webhooks()->get();
$moip->webhooks()->get(new Pagination(10, 0), 'ORD-ID', 'ORDER.PAID');
$amount = 500;
$bank_number = '001';
$agency_number = '1111';
$agency_check_number = '2';
$account_number = '9999';
$account_check_number = '8';
$holder_name = 'Nome do Portador';
$tax_document = '22222222222';
$transfer = $moip->transfers()
->setTransfers($amount, $bank_number, $agency_number, $agency_check_number, $account_number, $account_check_number)
->setHolder($holder_name, $tax_document)
->execute();
print_r($transfer);
$transfer = $moip->transfers()
->setTransfersToBankAccount($amount, $bank_account_id)
->execute();
$transfer_id = 'TRA-28HRLYNLMUFH';
$transfer = $moip->transfers()->get($transfer_id);
print_r($transfer);
$transfers = $moip->transfers()->getList();
$transfers = $moip->transfers()->getList(new Pagination(10,0));
$transfer_id = 'TRA-28HRLYNLMUFH';
$transfer = $moip->transfers()->revert($transfer_id);
try {
$moip->customers()->setOwnId(uniqid())
->setFullname('Fulano de Tal')
->setEmail('[email protected] ')
//...
->create();
} catch (\Moip\Exceptions\UnautorizedException $e) {
//StatusCode 401
echo $e->getMessage();
} catch (\Moip\Exceptions\ValidationException $e) {
//StatusCode entre 400 e 499 (exceto 401)
printf($e->__toString());
} catch (\Moip\Exceptions\UnexpectedException $e) {
//StatusCode >= 500
echo $e->getMessage();
}