yamitec / juno-sdk
Juno-sdk é um pacote de ferramentas para integração e junto a plataforma de pagamentos JUNO
dev-main
2021-10-14 08:34 UTC
Requires
- php: ^7.2
- yamitec/dot-env: dev-main
This package is auto-updated.
Last update: 2025-06-14 16:49:03 UTC
README
Instalação
para iniciar o projeto basta instalar apartir do composer com o comando composer require yamitec/juno-sdk
Exemplo
Para efetuar pagamentos com a JunoSDK basta instanciar a classe \YamiTec\JunoSDK
.
o seu arquivo .env deve ter os seguintes parametros:
JUNO_ENVIRONMENT=[SANDBOX OR PRODUCTION]
JUNO_CLIENT_ID=[CLIENT-ID]
JUNO_CLIENT_SECRET=[CLIENT-SECRET]
JUNO_PRIVATE_TOKEN=[PRIVATE-TOKEN]
JUNO_PUBLIC_TOKEN=[PUBLIC_TOKEN]
Authenticação
a chamada deve-se da seguinte forma:
<?php
$client = new \YamiTec\JunoSDK\Attributes\ClientAttributes();
$client::exec();
$juno = new \YamiTec\JunoSDK\JunoSDK($client);
$auth_data = json_decode($juno->Authorization($data));
if($auth_data->success == false){
return json_encode(['success' => false, 'message' => $auth_data->message]);
}
Criar Pagamento
Definindo Informações de pagamento
$address = new \YamiTec\JunoSDK\Models\Address();
$address->street = "RUA ONDE MORA";
$address->number = 200;
$address->complement = "COMPLEMENTO";
$address->neighborhood = "BAIRRO";
$address->city = "CIDADE";
$address->state = "UF";
$address->postCode = "CEP";
$billing = new \YamiTec\JunoSDK\Models\Billing();
$billing->name = "NOME DO TITULAR DO CARTÃO";
$billing->document = "CPF";
$billing->email = "EMAIL@EMAIL.COM";
$billing->address = $address; // Objeto Endereço
$chargeData = [
"description" => "DESCRIÇÃO DE PAGAMENTO",
"amount" => $plan->price,
"paymentTypes" => ["CREDIT_CARD"],
];
$charge = $juno->makeCharge($chargeData, $billing);
print_r($charge);
Gerar Token de Cartão
[JS]
if(env('JUNO_ENVIRONMENT') == "SANDBOX") // verificar se é sandbox ou production
<script type="text/javascript" src="https://sandbox.boletobancario.com/boletofacil/wro/direct-checkout.min.js"></script>
else
<script type="text/javascript" src="https://www.boletobancario.com/boletofacil/wro/direct-checkout.min.js"></script>
endif
<script>
var checkout = new DirectCheckout("{{env('JUNO_PUBLIC_TOKEN')}}", false);
function generateHash() {
var cardData = {
cardNumber: $('input[name="card_number"]').val().replace(/ /g, ""),
holderName: $('input[name="card_name"]').val(),
securityCode: $('input[name="card_cvv"]').val(),
expirationMonth: $('input[name="card_vality"]').val().split('/')[0],
expirationYear: $('input[name="card_vality"]').val().split('/')[1]
};
/* isValidCardNumber: Valida número do cartão de crédito (retorna true se for válido) */
if (!checkout.isValidCardNumber(cardData.cardNumber)) {
return {
success: false,
error: "Número de Cartão Inválido!",
data: "Número de Cartão Inválido!",
}
}
/* isValidSecurityCode: Valida código de segurança do cartão de crédito (retorna true se for válido) */
if (!checkout.isValidSecurityCode(cardData.cardNumber, cardData.securityCode)) {
return {
success: false,
error: "CVV Inválido!",
data: "CVV Inválido!",
}
}
/* isValidExpireDate: Valida data de expiração do cartão de crédito (retorna true se for válido) */
if (!checkout.isValidExpireDate(cardData.expirationMonth, cardData.expirationYear)) {
return {
success: false,
error: "Data de validade Inválida!",
data: "Data de validade Inválida!",
}
}
/* isValidCardData: Validação dos dados do cartão de crédito(retorna true se for válido) */
checkout.isValidCardData(cardData, function(error) {
return {
success: false,
error: error,
data: error,
}
/* Erro - A variável error conterá o erro ocorrido durante a validação dos dados do cartão de crédito */
});
checkout.getCardHash(cardData, function(cardHash) {
/* Sucesso - A variável cardHash conterá o hash do cartão de crédito */
$('input[name="creditCardHash"]').val(cardHash); // PREENCHE O INPUT com nome creditCardHash com o token do cartão
}, function(error) {
/* Erro - A variável error conterá o erro ocorrido ao obter o hash */
console.error(error)
});
return {
success: true,
data: checkout,
}
}
</script>
Efetuar Pagamento
$creditCardDetails = [
"creditCardHash" => $_POST['creditCardHash'],
];
$pay = $juno->makePayment($pay->data['_embedded']['charges'][0]['id'], $billing, $creditCardDetails);
print_r($pay);
Retornos
(Em DEV)
Agradecimento
Equipe www.yamitec.com