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"
LOCAL loRest
LOCAL lnSuccess
LOCAL lnBTls
LOCAL lnPort
LOCAL lnBAutoReconnect
LOCAL loFileStream2
LOCAL lcStrResponseBody
LOCAL loJsonResponse
LOCAL lcId
LOCAL lcObject
LOCAL lnCreated
LOCAL lcFilename
LOCAL lcPurpose
LOCAL lnSize
LOCAL lcType
LOCAL lcUrl
loRest = CreateObject('Chilkat_9_5_0.Rest')
* URL: https://files.stripe.com/v1/files
lnBTls = 1
lnPort = 443
lnBAutoReconnect = 1
lnSuccess = loRest.Connect("files.stripe.com",lnPort,lnBTls,lnBAutoReconnect)
IF (lnSuccess <> 1) THEN
? "ConnectFailReason: " + STR(loRest.ConnectFailReason)
? loRest.LastErrorText
RELEASE loRest
CANCEL
ENDIF
loRest.SetAuthBasic("STRIPE_SECRET_KEY","")
loRest.PartSelector = "1"
loRest.AddHeader("Content-Disposition",'form-data; name="purpose"')
loRest.SetMultipartBodyString("dispute_evidence")
loRest.PartSelector = "2"
loFileStream2 = CreateObject('Chilkat_9_5_0.Stream')
loFileStream2.SourceFile = "/path/to/a/file.jpg"
loRest.AddHeader("Content-Disposition",'form-data; name="/path/to/a/file.jpg"; filename="/path/to/a/file.jpg"')
loRest.AddHeader("Content-Type","image/jpeg")
loRest.SetMultipartBodyStream(loFileStream2)
loRest.PartSelector = "0"
loRest.AddHeader("Expect","100-continue")
lcStrResponseBody = loRest.FullRequestMultipart("POST","/v1/files")
IF (loRest.LastMethodSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loFileStream2
CANCEL
ENDIF
loJsonResponse = CreateObject('Chilkat_9_5_0.JsonObject')
loJsonResponse.Load(lcStrResponseBody)
lcId = loJsonResponse.StringOf("id")
lcObject = loJsonResponse.StringOf("object")
lnCreated = loJsonResponse.IntOf("created")
lcFilename = loJsonResponse.StringOf("filename")
lcPurpose = loJsonResponse.StringOf("purpose")
lnSize = loJsonResponse.IntOf("size")
lcType = loJsonResponse.StringOf("type")
lcUrl = loJsonResponse.StringOf("url")
RELEASE loRest
RELEASE loFileStream2
RELEASE loJsonResponse
{
"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"
}