2000, "currency" => "usd", "description" => "Charge for test@example.com", 'card' => array( 'number' => '4242424242424242', 'exp_month' => 5, 'exp_year' => date('Y') + 3, ), ) ); } /** * Create a valid test customer. */ protected static function createTestCustomer(array $attributes = array()) { self::authorizeFromEnv(); return Stripe_Customer::create( $attributes + array( 'card' => array( 'number' => '4242424242424242', 'exp_month' => 5, 'exp_year' => date('Y') + 3, ), ) ); } /** * Create a valid test recipient */ protected static function createTestRecipient(array $attributes = array()) { self::authorizeFromEnv(); return Stripe_Recipient::create( $attributes + array( 'name' => 'PHP Test', 'type' => 'individual', 'tax_id' => '000000000', 'bank_account' => array( 'country' => 'US', 'routing_number' => '110000000', 'account_number' => '000123456789' ), ) ); } /** * Generate a random 8-character string. Useful for ensuring * multiple test suite runs don't conflict */ protected static function randomString() { $chars = "abcdefghijklmnopqrstuvwxyz"; $str = ""; for ($i = 0; $i < 10; $i++) { $str .= $chars[rand(0, strlen($chars)-1)]; } return $str; } /** * Verify that a plan with a given ID exists, or create a new one if it does * not. */ protected static function retrieveOrCreatePlan($id) { self::authorizeFromEnv(); try { $plan = Stripe_Plan::retrieve($id); } catch (Stripe_InvalidRequestError $exception) { $plan = Stripe_Plan::create( array( 'id' => $id, 'amount' => 0, 'currency' => 'usd', 'interval' => 'month', 'name' => 'Gold Test Plan', ) ); } } /** * Verify that a coupon with a given ID exists, or create a new one if it does * not. */ protected static function retrieveOrCreateCoupon($id) { self::authorizeFromEnv(); try { $coupon = Stripe_Coupon::retrieve($id); } catch (Stripe_InvalidRequestError $exception) { $coupon = Stripe_Coupon::create( array( 'id' => $id, 'duration' => 'forever', 'percent_off' => 25, ) ); } } /** * Genereate a semi-random string */ public function generateRandomString($length = 24) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } protected static function createTestBitcoinReceiver($email) { $receiver = Stripe_BitcoinReceiver::create( array( 'amount' => 100, 'currency' => 'usd', 'description' => 'some details', 'email' => $email ) ); return $receiver; } }