コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function verifyIpnMessage(Message $message)
 {
     $requestBody = array_merge(['cmd' => '_notify-validate'], $message->getAll());
     try {
         $response = $this->httpClient->post($this->serviceEndpoint, array('form_params' => $requestBody));
     } catch (\Exception $e) {
         throw new ServiceException($e->getMessage());
     }
     return new ServiceResponse((string) $response->getBody());
 }
コード例 #2
0
 /**
  * Stores the IPN contents and returns the IpnOrder object.
  *
  * @param Mdb\PayPal\Ipn\Message $data
  *
  * @return IpnOrder
  */
 private function store(\Mdb\PayPal\Ipn\Message $data)
 {
     if ($data->get('txn_id')) {
         $order = IpnOrder::firstOrNew(['txn_id' => $data->get('txn_id')]);
         $order->fill($data->getAll());
     } else {
         $order = new IpnOrder($data->getAll());
     }
     $order->full_ipn = json_encode(Input::all());
     $order->save();
     $this->storeOrderItems($order, $data->getAll());
     return $order;
 }
コード例 #3
0
 function it_should_throw_a_service_exception_when_a_request_fails(ClientStub $httpClient, Message $message)
 {
     $httpClient->post(Argument::type('string'), Argument::type('array'))->willThrow('Exception');
     $message->getAll()->willReturn(['foo' => 'bar']);
     $this->shouldThrow('Mdb\\PayPal\\Ipn\\Exception\\ServiceException')->during('verifyIpnMessage', array($message));
 }