public function test_successful_get_express_checkout_request() { global $test_accounts; // This is required to fill the response property $this->test_successful_set_express_checkout_request(); $gateway = new PHP_Merchant_Paypal_Express_Checkout($test_accounts['paypal-express-checkout']); $response = $gateway->get_details_for($this->response->get('token')); $this->assertTrue($response->is_successful()); $this->assertFalse($response->has_errors()); // API Info $this->assertTrue($response->is_checkout_not_initiated()); $this->assertFalse($response->is_checkout_failed()); $this->assertFalse($response->is_checkout_in_progress()); $this->assertFalse($response->is_checkout_completed()); $this->assertEqual($response->get('checkout_status'), 'Not-Initiated'); $this->assertEqual($response->get('token'), $this->response->get('token')); $this->assertEqual($response->get('version'), $this->response->get('version')); $this->assertEqual($response->get('build'), $this->response->get('build')); // Payment Information $this->assertEqual($response->get('currency'), 'JPY'); $this->assertEqual($response->get('amount'), 15337); $this->assertEqual($response->get('subtotal'), 13700); $this->assertEqual($response->get('shipping'), 1500); $this->assertEqual($response->get('handling'), 0); $this->assertEqual($response->get('tax'), 137); $this->assertEqual($response->get('invoice'), 'E84A90G94'); $this->assertEqual($response->get('notify_url'), 'http://example.com/ipn'); $this->assertEqual($response->get('shipping_discount'), 0); // Item Information $items = $response->get('items'); $mock_items = array(); $mock_items[0] = new stdClass(); $mock_items[0]->name = 'Gold Cart Plugin'; $mock_items[0]->description = 'Gold Cart extends your WP eCommerce store by enabling additional features and functionality.'; $mock_items[0]->amount = 4000; $mock_items[0]->quantity = 1; $mock_items[0]->tax = 40; $mock_items[1] = new stdClass(); $mock_items[1]->name = 'Member Access Plugin'; $mock_items[1]->description = 'Create pay to view subscription sites'; $mock_items[1]->amount = 5000; $mock_items[1]->quantity = 1; $mock_items[1]->tax = 50; $mock_items[2] = new stdClass(); $mock_items[2]->name = 'Amazon S3'; $mock_items[2]->description = 'This Plugin allows downloadable products on your WP eCommerce site to be hosted on Amazon S3.'; $mock_items[2]->amount = 4700; $mock_items[2]->quantity = 1; $mock_items[2]->tax = 47; $this->assertEqual($items, $mock_items); }
public function __construct($options = array()) { $options['http_client'] = new MockPHP_Merchant_HTTP_CURL(); parent::__construct($options); }
/** * For Digital Goods purchases, PayPal requires the PAYMENTREQUEST_n_ITEMAMT. This function sets the 'items' flag to required * then calls @see parent::setup_purchase() to complete the payment. * * @uses self::requires() to flag 'items' as required * @uses parent::setup_purchase() to create and make the request. * @return PHP_Merchant_Paypal_Express_Checkout_Response An object containing the details of PayPal's response to the request. */ public function purchase($options = array(), $action = 'Sale') { return parent::purchase($options, $action); }
/** * For Digital Goods purchases, PayPal requires the PAYMENTREQUEST_n_ITEMAMT. This function sets the 'items' flag to required * then calls @see parent::setup_purchase() to complete the payment. * * @uses self::requires() to flag 'items' as required * @uses parent::setup_purchase() to create and make the request. * @return PHP_Merchant_Paypal_Express_Checkout_Response An object containing the details of PayPal's response to the request. */ public function purchase($options = array(), $action = 'Sale') { $options['no_shipping'] = true; return parent::purchase($options, $action); }
/** * For Digital Goods purchases, PayPal requires the PAYMENTREQUEST_n_ITEMAMT. This function sets the 'items' flag to required * then calls @see parent::setup_purchase() to complete the payment. * * @uses self::requires() to flag 'items' as required * @uses parent::setup_purchase() to create and make the request. * @return PHP_Merchant_Paypal_Express_Checkout_Response An object containing the details of PayPal's response to the request. */ public function purchase($options = array()) { return parent::purchase($options); }