* * @param string $endpoint * * @throws GatewayException * @throws InvalidArgumentException * @throws InvalidSignException */ public function pay($endpoint, array $payload): Collection { unset($payload['trade_type'], $payload['notify_url']); $payload['sign'] = Support::generateSign($payload); Events::dispatch(new Events\PayStarted('Wechat', 'Pos', $endpoint, $payload)); return Support::requestApi('pay/micropay', $payload); } /** * Get trade type config. * * @author yansongda */ protected function getTradeType(): string { return 'MICROPAY'; } }