public function testCreateCardSuccess()
 {
     $httpResponse = $this->getMockHttpResponse('RestCreateCardSuccess.txt');
     $response = new RestResponse($this->getMockRequest(), $httpResponse->json(), $httpResponse->getStatusCode());
     $this->assertTrue($response->isSuccessful());
     $this->assertSame('CARD-70E78145XN686604FKO3L6OQ', $response->getCardReference());
     $this->assertNull($response->getMessage());
 }
 public function getTransactionReference()
 {
     // The transaction reference for a paypal purchase request or for a
     // paypal create subscription request ends up in the execute URL
     // in the links section of the response.
     $completeUrl = $this->getCompleteUrl();
     if (empty($completeUrl)) {
         return parent::getTransactionReference();
     }
     $urlParts = explode('/', $completeUrl);
     // The last element of the URL should be "execute"
     $execute = end($urlParts);
     if (!in_array($execute, array('execute', 'agreement-execute'))) {
         return parent::getTransactionReference();
     }
     // The penultimate element should be the transaction reference
     return prev($urlParts);
 }