Я пытаюсь интегрировать worldpay с моим проектом codeigniter. Я следую инструкциям, приведенным в документации по worldpay, я использую идентификатор клиента в качестве токена в своем приложении, но он не работает, в некоторых справочных документах говорится, что вы должны использовать генерирование токена из worldpay.js, ноя уже использую его API, то почему я должен использовать worldpay.js Вот мой пример кода
try {
$worldpay = new Worldpay\Worldpay(WORLDPAY_SERVICE_KEY);
$worldpay->disableSSLCheck(true);
$directOrder = true;
$token = WORLDPAY_TOKEN;
$name = $CardHolder;//$_POST['name'];
$shopperEmailAddress = $email;
$amount = 800;
$billing_address = array(
'address1' => '123 House Road',
'address2' => 'A village',
'address3' => '',
'postalCode' => 'EC1 1AA',
'city' => 'London',
'state' => '',
'countryCode' => 'GB',
);
$delivery_address = array(
"firstName" => 'Aslam',
"lastName" => 'Javed',
"address1" => '123 House Road',
"address2" => '',
"address3" => '',
"postalCode" => 'EC1 1AA',
"city" => 'GB',
"telephoneNumber" => '457875874'
);
$obj = array(
'orderDescription' => 'Pta ni order place hota hai ke ni ?', // Order description of your choice
'amount' => $amount, // Amount in pence
'is3DSOrder' => FALSE, // 3DS
'authorizeOnly' => FALSE,
'siteCode' => 'http://localhost/EParking',
'orderType' => 'ECOM', //Order Type: ECOM/MOTO/RECURRING
'currencyCode' => 'GBP', // Currency code
'settlementCurrency' => 'GBP', // Settlement currency code
'name' => 'Aslam OBJ', // Customer name
'shopperEmailAddress' => $shopperEmailAddress, // Shopper email address
'billingAddress' => $billing_address, // Billing address array
'deliveryAddress' => $delivery_address, // Delivery address array
'customerIdentifiers' => array(), // Custom indentifiers
'statementNarrative' => NULL,
'orderCodePrefix' => 'AB',
'orderCodeSuffix' => 'YZ',
'customerOrderCode' => 'ORDER134' // Order code of your choice
);
$obj['token'] = $token;
$response = $worldpay->createApmOrder($obj);
if ($response['paymentStatus'] === 'PRE_AUTHORIZED') {
// Redirect to URL
$_SESSION['orderCode'] = $response['orderCode'];
?>
<script>
window.location.replace("<?php echo $response['redirectURL'] ?>");
</script>
<?php
} else {
// Something went wrong
echo '<p id="payment-status">' . $response['paymentStatus'] . '</p>';
throw new WorldpayException(print_r($response, true));
}
} catch (WorldpayException $e) { // PHP 5.3+
// Worldpay has thrown an exception
echo 'Error code: ' . $e->getCustomCode() . '<br/>
HTTP status code:' . $e->getHttpStatusCode() . '<br/>
Error description: ' . $e->getDescription() . ' <br/>
Error message: ' . $e->getMessage();
}