I am using checkout payment integration for the payment. In the page i used
[B]require_once(’…/bootstrap.php’);
$user = oxRegistry::getSession()->getUser(); [/B]
to get the user details. but I cannot take the details
The checkout payment form have two php pages. Index.php page and ProcessCharge.php page
[B]the code in Index.php is the following:-[/B]
<?php
require_once(’…/bootstrap.php’);
$user = oxRegistry::getSession()->getUser();
$user_zip = $user->oxuser__oxzip;
?>
<head>
<script src=“https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js”></script>
</head>
<form method=“POST” class=“payment-form”>
<script>
window.CKOConfig = {
publicKey: ‘pk_test_d184465f-0e35-4e46-9427-353369e09c76’,
value: 100,
currency: ‘AED’,
paymentMode:‘card’,
cardFormMode: ‘cardTokenisation’,
cardTokenised: function(event) {
var token = event.data.cardToken;
console.log(token);
/*$.ajax({
url: "ProcessCharge.php",
method: "POST",
data: {
cardToken : event.data.cardToken},
success: function(event){
response.innerHTML = "<pre>"+event+"</pre>";
if(event === "10000" || event === "10100"){
window.location.assign("http://armotors.ae");
}
}
})*/
cardToken.value = token;
send.submit();
}
};
</script>
<script async src="https://sandbox.checkout.com/js/checkout.js"></script>
</form>
<form id=“send” method=“POST” action=“ProcessCharge.php”>
<input type=“hidden” name=“cardToken” id=“cardToken”/>
</form>
<br>
<div id=“response”>
</div>
[B]In the ProcessCharge.php , The code i put is the following[/B]
<?php
namespace com\checkout ;
include ‘checkout-php-library/autoload.php’;
$apiClient = new ApiClient(‘sk_test_5274fd47-ca84-469c-8d07-e8cd84a896f9’,‘sandbox’);
$charge = $apiClient->chargeService();
// create an instance of CardTokenChargeCreate Model
$CardTokenChargePayload = new ApiServices\Charges\RequestModels\CardTokenChargeCreate();
//initializing model to generate payload
//initializing model to generate payload
$billingDetails = new ApiServices\SharedModels\Address();
$phone = new ApiServices\SharedModels\Phone();
$phone->setNumber(“203 583 44 55”);
$phone->setCountryCode(“44”);
$billingDetails->setAddressLine1(‘1 Glading Fields"’);
$billingDetails->setPostcode(‘N16 2BR’);
$billingDetails->setCountry(‘GB’);
$billingDetails->setCity(‘London’);
$billingDetails->setPhone($phone);
$CardTokenChargePayload->setEmail(‘[email protected]’);
$CardTokenChargePayload->setValue(100);
$CardTokenChargePayload->setCurrency(‘AED’);
$CardTokenChargePayload->setTrackId(‘TrackingNumber324’);
$CardTokenChargePayload->setCustomerName(‘cardHolderNameGoesHere’);
$CardTokenChargePayload->setCardToken($_POST[‘cardToken’]);
try {
/** @var ApiServices\Charges\RequestModels\CardTokenChargeCreate $CardTokenChargePayload **/
/** @var ApiServices\Charges\ChargeService $charge **/
$ChargeResponse = $charge->chargeWithCardToken($CardTokenChargePayload);
// var_dump($ChargeResponse->getResponseCode());
if($ChargeResponse->getResponseCode() == “10000” || $ChargeResponse->getResponseCode() == “10100”){
require_once(’…/bootstrap.php’);
$user = oxRegistry::getSession()->getUser();
$user_zip = $user->oxuser__oxzip;
echo $user_zip;
//echo “sucess”;
}else{
//echo “Payment failed”;
}
//var_dump($ChargeResponse->getResponseCode());
print_r($ChargeResponse);
}catch ( helpers\ApiHttpClientCustomException $e) {
echo 'Caught exception Message: ', $e->getErrorMessage(), “
”;
echo 'Caught exception Error Code: ', $e->getErrorCode(), “
”;
echo 'Caught exception Event id: ', $e->getEventId(), “
”;
}
Here in the response i tried to print the user details, iam unable to print it. But when I remove the code i.e require once, I got the response.
Why I cannot incude the bootstrap.php file.
[B]Please anyone help me[/B]