Exemple #1
0
 protected function prepareOrder(array $data)
 {
     isset($data['order_prefix']) or $data['order_prefix'] = fnGet($this->config, 'order_prefix');
     $data['payment_gateway'] = $this->gateway;
     $data['payment_method'] = $this->method;
     $order = Order::prepare($data);
     return $order;
 }
Exemple #2
0
 public function testFailOrder()
 {
     $tradeId = md5(microtime());
     $order = Order::prepare(['order_prefix' => 'FAILED', 'amount' => '1', 'trade_id' => $tradeId, 'product_name' => 'Test product', 'user_identifier' => 'Test User', 'client_id' => 'test_client', 'payment_gateway' => 'alipay', 'payment_method' => 'mobile_web', 'currency' => 'CNY', 'amount_in_currency' => '1']);
     $this->assertTrue($order->save(), $order->getStringMessages());
     $order->fail();
     $this->assertTrue($order->save(), $order->getStringMessages());
     $this->assertEquals($order::STATUS_FAILING, $order->getStatus());
     $e = null;
     try {
         $order->fail();
     } catch (OrderException $e) {
     }
     $this->assertInstanceOf(OrderException::class, $e);
     $this->assertEquals($e::ERROR_CODE_ORDER_CANNOT_BE_FAILED, $e->getCode());
     $order->confirmFail();
     $this->assertTrue($order->save(), $order->getStringMessages());
     $this->assertEquals($order::STATUS_FAILED, $order->getStatus());
     $e = null;
     try {
         $order->confirmFail();
     } catch (OrderException $e) {
     }
     $this->assertInstanceOf(OrderException::class, $e);
     $this->assertEquals($e::ERROR_CODE_ORDER_CANNOT_BE_FAILED, $e->getCode());
 }