<?php
namespace Faker\Provider\pt_BR;
/**
* Calculates one MOD 11 check digit based on customary Brazilian algorithms.
*
* @see http://en.wikipedia.org/wiki/Check_digit
* @see http://pt.wikipedia.org/wiki/CNPJ#Algoritmo_de_Valida.C3.A7.C3.A3o
* @see http://en.wikipedia.org/wiki/Cadastro_de_Pessoas_F%C3%ADsicas#Validation
*
* @param int|string $numbers Numbers on which generate the check digit
*
* @return int
*/
function check_digit($numbers)
{
$numbers = (string) $numbers;
$length = strlen($numbers);
$second_algorithm = $length >= 12;
$verifier = 0;
for ($i = 1; $i <= $length; ++$i) {
if (!$second_algorithm) {
$multiplier = $i + 1;
} else {
$multiplier = ($i >= 9) ? $i - 7 : $i + 1;
}
$verifier += $numbers[$length - $i] * $multiplier;
}
$verifier = 11 - ($verifier % 11);
if ($verifier >= 10) {
$verifier = 0;
}
return $verifier;
}
How To Payment
Making a payment on our website is quick and secure. Start by logging in or creating an account. Select your preferred payment method, input the required details, and review the information. Once you confirm everything is correct, click on the "Submit Payment" button. You’ll receive instant confirmation and can track your payment status through your account dashboard. It’s an easy and secure process.