You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.5 KiB
83 lines
1.5 KiB
<?php
|
|
|
|
namespace Yansongda\Pay\Contracts;
|
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
use Yansongda\Supports\Collection;
|
|
|
|
interface GatewayApplicationInterface
|
|
{
|
|
/**
|
|
* To pay.
|
|
*
|
|
* @author yansongda <me@yansonga.cn>
|
|
*
|
|
* @param string $gateway
|
|
* @param array $params
|
|
*
|
|
* @return Collection|Response
|
|
*/
|
|
public function pay($gateway, $params);
|
|
|
|
/**
|
|
* Query an order.
|
|
*
|
|
* @author yansongda <me@yansongda.cn>
|
|
*
|
|
* @param string|array $order
|
|
*
|
|
* @return Collection
|
|
*/
|
|
public function find($order, string $type);
|
|
|
|
/**
|
|
* Refund an order.
|
|
*
|
|
* @author yansongda <me@yansongda.cn>
|
|
*
|
|
* @return Collection
|
|
*/
|
|
public function refund(array $order);
|
|
|
|
/**
|
|
* Cancel an order.
|
|
*
|
|
* @author yansongda <me@yansongda.cn>
|
|
*
|
|
* @param string|array $order
|
|
*
|
|
* @return Collection
|
|
*/
|
|
public function cancel($order);
|
|
|
|
/**
|
|
* Close an order.
|
|
*
|
|
* @author yansongda <me@yansongda.cn>
|
|
*
|
|
* @param string|array $order
|
|
*
|
|
* @return Collection
|
|
*/
|
|
public function close($order);
|
|
|
|
/**
|
|
* Verify a request.
|
|
*
|
|
* @author yansongda <me@yansongda.cn>
|
|
*
|
|
* @param string|array|null $content
|
|
*
|
|
* @return Collection
|
|
*/
|
|
public function verify($content, bool $refund);
|
|
|
|
/**
|
|
* Echo success to server.
|
|
*
|
|
* @author yansongda <me@yansongda.cn>
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function success();
|
|
}
|
|
|