1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace Stripe; |
4
|
|
|
|
5
|
|
|
/** |
6
|
|
|
* Class File |
7
|
|
|
* |
8
|
|
|
* @property string $id |
9
|
|
|
* @property string $object |
10
|
|
|
* @property int $created |
11
|
|
|
* @property string $filename |
12
|
|
|
* @property Collection $links |
13
|
|
|
* @property string $purpose |
14
|
|
|
* @property int $size |
15
|
|
|
* @property string $title |
16
|
|
|
* @property string $type |
17
|
|
|
* @property string $url |
18
|
|
|
* |
19
|
|
|
* @package Stripe |
20
|
|
|
*/ |
21
|
|
|
class File extends ApiResource |
22
|
|
|
{ |
23
|
|
|
// This resource can have two different object names. In latter API |
24
|
|
|
// versions, only `file` is used, but since stripe-php may be used with |
25
|
|
|
// any API version, we need to support deserializing the older |
26
|
|
|
// `file_upload` object into the same class. |
27
|
|
|
const OBJECT_NAME = "file"; |
28
|
|
|
const OBJECT_NAME_ALT = "file_upload"; |
29
|
|
|
|
30
|
|
|
use ApiOperations\All; |
31
|
|
|
use ApiOperations\Create { |
32
|
|
|
create as protected _create; |
33
|
|
|
} |
34
|
|
|
use ApiOperations\Retrieve; |
35
|
|
|
|
36
|
|
|
public static function classUrl() |
37
|
|
|
{ |
38
|
|
|
return '/v1/files'; |
39
|
|
|
} |
40
|
|
|
|
41
|
|
|
/** |
42
|
|
|
* @param array|null $params |
43
|
|
|
* @param array|string|null $options |
44
|
|
|
* |
45
|
|
|
* @return \Stripe\File The created resource. |
46
|
|
|
*/ |
47
|
|
|
public static function create($params = null, $options = null) |
48
|
|
|
{ |
49
|
|
|
$opts = \Stripe\Util\RequestOptions::parse($options); |
50
|
|
|
if (is_null($opts->apiBase)) { |
51
|
|
|
$opts->apiBase = Stripe::$apiUploadBase; |
52
|
|
|
} |
53
|
|
|
// Manually flatten params, otherwise curl's multipart encoder will |
54
|
|
|
// choke on nested arrays. |
55
|
|
|
// TODO: use array_column() once we drop support for PHP 5.4 |
56
|
|
|
$flatParams = []; |
57
|
|
|
foreach (\Stripe\Util\Util::flattenParams($params) as $pair) { |
|
|
|
|
58
|
|
|
$flatParams[$pair[0]] = $pair[1]; |
59
|
|
|
} |
60
|
|
|
return static::_create($flatParams, $opts); |
|
|
|
|
61
|
|
|
} |
62
|
|
|
} |
63
|
|
|
|
This check looks at variables that have been passed in as parameters and are passed out again to other methods.
If the outgoing method call has stricter type requirements than the method itself, an issue is raised.
An additional type check may prevent trouble.