1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<?php
// File generated from our OpenAPI spec
namespace Stripe\Service;
class PayoutService extends \Stripe\Service\AbstractService
{
/**
* Returns a list of existing payouts sent to third-party bank accounts or that
* Stripe has sent you. The payouts are returned in sorted order, with the most
* recently created payouts appearing first.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Collection<\Stripe\Payout>
*/
public function all($params = null, $opts = null)
{
return $this->requestCollection('get', '/v1/payouts', $params, $opts);
}
/**
* A previously created payout can be canceled if it has not yet been paid out.
* Funds will be refunded to your available balance. You may not cancel automatic
* Stripe payouts.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function cancel($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payouts/%s/cancel', $id), $params, $opts);
}
/**
* To send funds to your own bank account, you create a new payout object. Your <a
* href="#balance">Stripe balance</a> must be able to cover the payout amount, or
* you’ll receive an “Insufficient Funds” error.
*
* If your API key is in test mode, money won’t actually be sent, though everything
* else will occur as if in live mode.
*
* If you are creating a manual payout on a Stripe account that uses multiple
* payment source types, you’ll need to specify the source type balance that the
* payout should draw from. The <a href="#balance_object">balance object</a>
* details available and pending amounts by source type.
*
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function create($params = null, $opts = null)
{
return $this->request('post', '/v1/payouts', $params, $opts);
}
/**
* Retrieves the details of an existing payout. Supply the unique payout ID from
* either a payout creation request or the payout list, and Stripe will return the
* corresponding payout information.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function retrieve($id, $params = null, $opts = null)
{
return $this->request('get', $this->buildPath('/v1/payouts/%s', $id), $params, $opts);
}
/**
* Reverses a payout by debiting the destination bank account. Only payouts for
* connected accounts to US bank accounts may be reversed at this time. If the
* payout is in the <code>pending</code> status,
* <code>/v1/payouts/:id/cancel</code> should be used instead.
*
* By requesting a reversal via <code>/v1/payouts/:id/reverse</code>, you confirm
* that the authorized signatory of the selected bank account has authorized the
* debit on the bank account and that no other authorization is required.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function reverse($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payouts/%s/reverse', $id), $params, $opts);
}
/**
* Updates the specified payout by setting the values of the parameters passed. Any
* parameters not provided will be left unchanged. This request accepts only the
* metadata as arguments.
*
* @param string $id
* @param null|array $params
* @param null|array|\Stripe\Util\RequestOptions $opts
*
* @throws \Stripe\Exception\ApiErrorException if the request fails
*
* @return \Stripe\Payout
*/
public function update($id, $params = null, $opts = null)
{
return $this->request('post', $this->buildPath('/v1/payouts/%s', $id), $params, $opts);
}
}
|