How to integrate CyberSource payment gateway with CakePHP 2.*

|
| By Webner

Steps to integrate CyberSource payment gateway with CakePHP 2.*:

1. Download zip file of CyberSource library from “https://github.com/chrismeller/cybersource”.

2. Extract cybersource-master folder into cakephp vendors folder.

3. Create tests/config.php for test transaction with code and add credentials like below:

<?php
$merchant_id = 'xxx';
$transaction_id = 'yyy';
$username = 'zzz';
$password = 'vvv';

?>

4. Run command from command line: >cd path/to/vendors/cybersource-master

5. Run command from command line: >path/to/project/composer.phar dump-autoload

6. Create new TestController and add your test method for testing transactions like below:

public function cs(){
		require( ROOT.'/vendors/cybersource-master/tests/main.php' );
		$c->card( '4111111111111111', '12', '2019', '123' )
		->bill_to( array(
				'firstName' => 'Kailash',
				'lastName' => 'Kumar',
				'street1' => 'abc',
				'city' => 'Mohali',
				'state' => 'Punjab',
				'postalCode' => '160062',
				'country' => 'IN',
				'email' => 'abc@mail.com’',
		) );
		$c->authorize( '50.55' );
		print_r( $c->request );
		print_r( $c->response );
		exit;
}

7. Make a test transaction: call TestConroller cs function from browser.
Example:

Project_path/Test/cs
Response: Request :stdClass Object
(
    [merchantID] =>abc
    [merchantReferenceCode] => Unknown
    [clientLibrary] => CyberSourcePHP
    [clientLibraryVersion] => 0.3
    [clientEnvironment] =>~14.04.1-Ubuntu SMP Wed Jun 29 21:05:22 UTC 2016 x86_64
    [purchaseTotals] => stdClass Object
        (
            [currency] => USD
            [grandTotalAmount] => 155.05
        )

    [ccAuthService] => stdClass Object
        (
            [run] => true
        )

    [billTo] => stdClass Object
        (
            [firstName] => srty
            [lastName] => srt
            [street1] => 53 BI Bazar
            [city] => Ambala
            [state] => Haryana
            [postalCode] => 133001
            [country] => India
            [email] =>abc@mail.com
            [ipAddress] => 127.0.0.1
        )

    [card] => stdClass Object
        (
            [accountNumber] => 4111111111111111
            [expirationMonth] => 12
            [expirationYear] => 2019
            [cvNumber] => 123
        )

)


Response :stdClass Object
(
    [merchantReferenceCode] => Unknown
    [requestID] => 4998559471636370803009
    [decision] => ACCEPT
    [reasonCode] => 100
    [requestToken] =>abc
    [purchaseTotals] => stdClass Object
        (
            [currency] => USD
        )

    [ccAuthReply] => stdClass Object
        (
            [reasonCode] => 100
            [amount] => 155.05
            [authorizationCode] => 888888
            [avsCode] => 1
            [cvCode] => 
            [authorizedDateTime] => 2017-07-12T10:39:07Z
            [processorResponse] => 100
            [reconciliationID] => abc
        )

)

Leave a Reply

Your email address will not be published. Required fields are marked *