Путаница с токеном worldpay через worldpay.js - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь интегрировать 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();
}
...