2Checkout PHP Library ===================== This library provides developers with a simple set of bindings to the 2Checkout Payment API, Hosted Checkout, Instant Notification Service and Admin API. To use, download or clone the repository. ```shell git clone https://github.com/2Checkout/2checkout-php.git ``` Require in your php script. ```php require_once("/path/to/2checkout-php/lib/Twocheckout.php"); ``` All methods return an Array by default or you can set the format to 'json' to get a JSON response. **Example:** ```php "901248204", "merchantOrderId" => "123", "token" => 'MjFiYzIzYjAtYjE4YS00ZmI0LTg4YzYtNDIzMTBlMjc0MDlk', "currency" => 'USD', "total" => '10.00', "billingAddr" => array( "name" => 'Testing Tester', "addrLine1" => '123 Test St', "city" => 'Columbus', "state" => 'OH', "zipCode" => '43123', "country" => 'USA', "email" => 'testingtester@2co.com', "phoneNumber" => '555-555-5555' ), "shippingAddr" => array( "name" => 'Testing Tester', "addrLine1" => '123 Test St', "city" => 'Columbus', "state" => 'OH', "zipCode" => '43123', "country" => 'USA', "email" => 'testingtester@2co.com', "phoneNumber" => '555-555-5555' ) )); $this->assertEquals('APPROVED', $charge['response']['responseCode']); } catch (Twocheckout_Error $e) { $this->assertEquals('Unauthorized', $e->getMessage()); } ``` *Example Response:* ```php Array ( [validationErrors] => [exception] => [response] => Array ( [type] => AuthResponse [lineItems] => Array ( [0] => Array ( [options] => Array ( ) [price] => 10.00 [quantity] => 1 [recurrence] => [startupFee] => [productId] => [tangible] => N [name] => 123 [type] => product [description] => [duration] => ) ) [transactionId] => 205181140830 [billingAddr] => Array ( [addrLine1] => 123 Test St [addrLine2] => [city] => Columbus [zipCode] => 43123 [phoneNumber] => 555-555-5555 [phoneExtension] => [email] => testingtester@2co.com [name] => Testing Tester [state] => OH [country] => USA ) [shippingAddr] => Array ( [addrLine1] => 123 Test St [addrLine2] => [city] => Columbus [zipCode] => 43123 [phoneNumber] => [phoneExtension] => [email] => [name] => Testing Tester [state] => OH [country] => USA ) [merchantOrderId] => 123 [orderNumber] => 205181140821 [recurrentInstallmentId] => [responseMsg] => Successfully authorized the provided credit card [responseCode] => APPROVED [total] => 10.00 [currencyCode] => USD [errors] => ) ) ``` Example Admin API Usage ----------------- *Example Request:* ```php 4834917619 ); try { $result = Twocheckout_Sale::stop($args); } catch (Twocheckout_Error $e) { $e->getMessage(); } ``` *Example Response:* ```php OK [response_message] => Array ( [0] => 4834917634 [1] => 4834917646 [2] => 4834917658 ) ``` Example Checkout Usage: ----------------------- *Example Request:* ```php '1817037', 'mode' => '2CO', 'li_0_name' => 'Test Product', 'li_0_price' => '0.01' ); Twocheckout_Charge::form($params, 'auto'); ``` *Example Response:* ```php
``` Example Return Usage: --------------------- *Example Request:* ```php $v) { $params[$k] = $v; } $passback = Twocheckout_Return::check($params, "tango"); ``` *Example Response:* ```php Success [response_message] => Hash Matched ``` Example INS Usage: ------------------ *Example Request:* ```php $v) { $params[$k] = $v; } $passback = Twocheckout_Notification::check($params, "tango"); ``` *Example Response:* ```php Success [response_message] => Hash Matched ``` Exceptions: ----------- Twocheckout_Error exceptions are thrown by if an error has returned. It is best to catch these exceptions so that they can be gracefully handled in your application. *Example Usage* ```php 4774380224, 'category' => 1, 'comment' => 'Order never sent.' ); try { $sale = Twocheckout_Sale::refund($params); } catch (Twocheckout_Error $e) { $e->getMessage(); } ``` Full documentation for each binding is provided in the **[wiki](https://github.com/2Checkout/2checkout-php/wiki)**.