Uploads a file to Stripe.
curl https://files.stripe.com/v1/files \
-u STRIPE_SECRET_KEY: \
-F purpose=dispute_evidence \
-F file="@/path/to/a/file.jpg"
#import <CkoRest.h>
#import <CkoStream.h>
#import <NSString.h>
#import <CkoJsonObject.h>
CkoRest *rest = [[CkoRest alloc] init];
BOOL success;
// URL: https://files.stripe.com/v1/files
BOOL bTls = YES;
int port = 443;
BOOL bAutoReconnect = YES;
success = [rest Connect: @"files.stripe.com" port: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect];
if (success != YES) {
NSLog(@"%@%d",@"ConnectFailReason: ",[rest.ConnectFailReason intValue]);
NSLog(@"%@",rest.LastErrorText);
return;
}
[rest SetAuthBasic: @"STRIPE_SECRET_KEY" password: @""];
rest.PartSelector = @"1";
[rest AddHeader: @"Content-Disposition" value: @"form-data; name=\"purpose\""];
[rest SetMultipartBodyString: @"dispute_evidence"];
rest.PartSelector = @"2";
CkoStream *fileStream2 = [[CkoStream alloc] init];
fileStream2.SourceFile = @"/path/to/a/file.jpg";
[rest AddHeader: @"Content-Disposition" value: @"form-data; name=\"/path/to/a/file.jpg\"; filename=\"/path/to/a/file.jpg\""];
[rest AddHeader: @"Content-Type" value: @"image/jpeg"];
[rest SetMultipartBodyStream: fileStream2];
rest.PartSelector = @"0";
[rest AddHeader: @"Expect" value: @"100-continue"];
NSString *strResponseBody = [rest FullRequestMultipart: @"POST" uriPath: @"/v1/files"];
if (rest.LastMethodSuccess != YES) {
NSLog(@"%@",rest.LastErrorText);
return;
}
CkoJsonObject *jsonResponse = [[CkoJsonObject alloc] init];
[jsonResponse Load: strResponseBody];
NSString *id = 0;
NSString *object = 0;
int created;
NSString *filename = 0;
NSString *purpose = 0;
int size;
NSString *type = 0;
NSString *url = 0;
id = [jsonResponse StringOf: @"id"];
object = [jsonResponse StringOf: @"object"];
created = [[jsonResponse IntOf: @"created"] intValue];
filename = [jsonResponse StringOf: @"filename"];
purpose = [jsonResponse StringOf: @"purpose"];
size = [[jsonResponse IntOf: @"size"] intValue];
type = [jsonResponse StringOf: @"type"];
url = [jsonResponse StringOf: @"url"];
{
"id": "file_1BnEEuGswQrCoh0XqB3XkqAg",
"object": "file_upload",
"created": 1516661888,
"filename": "path",
"purpose": "sigma_scheduled_query",
"size": 500,
"type": "csv",
"url": "https://stripe-upload-api.s3.amazonaws.com/uploads/file_1BnEEuGswQrCoh0XqB3XkqAg?AWSAccessKeyId=KEY_ID\u0026Expires=TIMESTAMP\u0026Signature=SIGNATURE"
}