Code Duplication    Length = 8-10 lines in 3 locations

src/Gateways/Alipay/TransferGateway.php 1 location

@@ 25-33 (lines=9) @@
22
     * @throws InvalidConfigException
23
     * @throws InvalidSignException
24
     */
25
    public function pay($endpoint, array $payload): Collection
26
    {
27
        $payload['method'] = 'alipay.fund.trans.uni.transfer';
28
        $payload['sign'] = Support::generateSign($payload);
29
30
        Events::dispatch(new Events\PayStarted('Alipay', 'Transfer', $endpoint, $payload));
31
32
        return Support::requestApi($payload);
33
    }
34
35
    /**
36
     * Find.

src/Gateways/Wechat/Gateway.php 1 location

@@ 80-87 (lines=8) @@
77
     * @throws InvalidArgumentException
78
     * @throws InvalidSignException
79
     */
80
    protected function preOrder($payload): Collection
81
    {
82
        $payload['sign'] = Support::generateSign($payload);
83
84
        Events::dispatch(new Events\MethodCalled('Wechat', 'PreOrder', '', $payload));
85
86
        return Support::requestApi('pay/unifiedorder', $payload);
87
    }
88
}
89

src/Gateways/Wechat/PosGateway.php 1 location

@@ 24-33 (lines=10) @@
21
     * @throws InvalidArgumentException
22
     * @throws InvalidSignException
23
     */
24
    public function pay($endpoint, array $payload): Collection
25
    {
26
        unset($payload['trade_type'], $payload['notify_url']);
27
28
        $payload['sign'] = Support::generateSign($payload);
29
30
        Events::dispatch(new Events\PayStarted('Wechat', 'Pos', $endpoint, $payload));
31
32
        return Support::requestApi('pay/micropay', $payload);
33
    }
34
35
    /**
36
     * Get trade type config.