<?php
namespace WeChat;
use WeChat\Contracts\BasicPay;
use WeChat\Exceptions\InvalidResponseException;
use WePay\Bill;
use WePay\Order;
use WePay\Refund;
use WePay\Transfers;
use WePay\TransfersBank;
class Pay extends BasicPay
{
public function createOrder(array $options)
{
$pay = new Order($this->config->get());
return $pay->create($options);
}
public function createParamsForJsApi($prepay_id)
{
$pay = new Order($this->config->get());
return $pay->jsapiParams($prepay_id);
}
public function createParamsForRuleQrc($product_id)
{
$pay = new Order($this->config->get());
return $pay->qrcParams($product_id);
}
public function queryOrder(array $options)
{
$pay = new Order($this->config->get());
return $pay->query($options);
}
public function closeOrder($out_trade_no)
{
$pay = new Order($this->config->get());
return $pay->close($out_trade_no);
}
public function createRefund(array $options)
{
$pay = new Refund($this->config->get());
return $pay->create($options);
}
public function queryRefund(array $options)
{
$pay = new Refund($this->config->get());
return $pay->query($options);
}
public function report(array $options)
{
$pay = new Order($this->config->get());
return $pay->report($options);
}
public function queryAuthCode($authCode)
{
$pay = new Order($this->config->get());
return $pay->queryAuthCode($authCode);
}
public function billDownload(array $options, $outType = null)
{
$pay = new Bill($this->config->get());
return $pay->download($options, $outType);
}
public function billCommtent(array $options)
{
$pay = new Bill($this->config->get());
return $pay->commtent($options);
}
public function createTransfers(array $options)
{
$pay = new Transfers($this->config->get());
return $pay->create($options);
}
public function queryTransfers($partner_trade_no)
{
$pay = new Transfers($this->config->get());
return $pay->query($partner_trade_no);
}
public function createTransfersBank(array $options)
{
$pay = new TransfersBank($this->config->get());
return $pay->create($options);
}
public function queryTransFresBank($partner_trade_no)
{
$pay = new TransfersBank($this->config->get());
return $pay->query($partner_trade_no);
}
}