ProviderInterface.php 808 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. declare(strict_types=1);
  3. namespace Yansongda\Pay\Contract;
  4. use Psr\Http\Message\MessageInterface;
  5. use Psr\Http\Message\ResponseInterface;
  6. use Psr\Http\Message\ServerRequestInterface;
  7. use Yansongda\Artful\Rocket;
  8. use Yansongda\Supports\Collection;
  9. interface ProviderInterface
  10. {
  11. public function pay(array $plugins, array $params): null|Collection|MessageInterface|Rocket;
  12. public function query(array $order): Collection|Rocket;
  13. public function cancel(array $order): Collection|Rocket;
  14. public function close(array $order): Collection|Rocket;
  15. public function refund(array $order): Collection|Rocket;
  16. public function callback(null|array|ServerRequestInterface $contents = null, ?array $params = null): Collection|Rocket;
  17. public function success(): ResponseInterface;
  18. }