Upload a proof-of-authorization document for a payout.
Uploads a document as proof of authorization for a payout. Uploading again adds another entry to documents rather than replacing the previous one.
ParametersExpand Collapse
ReturnsExpand Collapse
class PayoutV1 { data, meta, response_type }
data: { id, amount, config, 24 more}
config: { auto_hold, auto_hold_message, sandbox_outcome}
external_id: String
Unique identifier for the payout in your database. This value must be unique across all payouts.
payment_date: Date
The desired date on which the payment should be occur. For payouts, this means the date you want the funds to be sent from your bank account.
Details about the current status of the payout.
status_history: Array[{ changed_at, message, reason, 3 more}]
History of the status changes for the payout.
reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 24 more
A machine-readable identifier for the specific status, useful for programmatic handling.
documents: Array[{ document_id, document_name, document_size, 2 more}]
Documents uploaded for this payout (e.g. proof of authorization), in the order they were uploaded.
effective_at: Time
The actual date on which the payment occurred. For payouts, this is the date the funds were sent from your bank account.
metadata: Hash[Symbol, String]
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the payout in a structured format.
processed_at: Time
The time the payout was processed by Straddle and originated to the payment rail.
response_type: :object | :array | :error | :none
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
Upload a proof-of-authorization document for a payout.
require "straddle"
straddle = Straddle::Client.new(
api_key: "My API Key",
environment: "production" # defaults to "sandbox"
)
payout_v1 = straddle.payouts.upload_authorization_document(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
file: StringIO.new("Example data")
)
puts(payout_v1){
"data": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"amount": 10000,
"config": {
"auto_hold": true,
"auto_hold_message": "auto_hold_message",
"sandbox_outcome": "standard"
},
"currency": "currency",
"description": "description",
"device": {
"ip_address": "192.168.1.1"
},
"external_id": "external_id",
"funding_ids": [
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
],
"has_resubmit": true,
"is_refund": true,
"is_resubmit": true,
"paykey": "paykey",
"payment_date": "2019-12-27",
"status": "created",
"status_details": {
"changed_at": "2019-12-27T18:11:19.117Z",
"message": "Payment successfully created and awaiting validation.",
"reason": "insufficient_funds",
"source": "system",
"code": null
},
"status_history": [
{
"changed_at": "2019-12-27T18:11:19.117Z",
"message": "Payment successfully created and awaiting validation.",
"reason": "insufficient_funds",
"source": "watchtower",
"status": "created",
"code": null
}
],
"trace_ids": {
"foo": "string"
},
"created_at": "2019-12-27T18:11:19.117Z",
"customer_details": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"customer_type": "individual",
"email": "ron@swanson.com",
"name": "Ron Swanson",
"phone": "+1234567890"
},
"documents": [
{
"document_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"document_name": "document_name",
"document_size": 0,
"document_type": "payment_authorization",
"uploaded_at": "2019-12-27T18:11:19.117Z"
}
],
"effective_at": "2019-12-27T18:11:19.117Z",
"metadata": {
"foo": "string"
},
"paykey_details": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"label": "Bank of America ****1234",
"balance": 0
},
"payment_rail": "ach",
"processed_at": "2019-12-27T18:11:19.117Z",
"related_payments": [
{
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"payment_type": "charge",
"relationship": "original"
}
],
"updated_at": "2019-12-27T18:11:19.117Z"
},
"meta": {
"api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"api_request_timestamp": "2019-12-27T18:11:19.117Z"
},
"response_type": "object"
}Returns Examples
{
"data": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"amount": 10000,
"config": {
"auto_hold": true,
"auto_hold_message": "auto_hold_message",
"sandbox_outcome": "standard"
},
"currency": "currency",
"description": "description",
"device": {
"ip_address": "192.168.1.1"
},
"external_id": "external_id",
"funding_ids": [
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
],
"has_resubmit": true,
"is_refund": true,
"is_resubmit": true,
"paykey": "paykey",
"payment_date": "2019-12-27",
"status": "created",
"status_details": {
"changed_at": "2019-12-27T18:11:19.117Z",
"message": "Payment successfully created and awaiting validation.",
"reason": "insufficient_funds",
"source": "system",
"code": null
},
"status_history": [
{
"changed_at": "2019-12-27T18:11:19.117Z",
"message": "Payment successfully created and awaiting validation.",
"reason": "insufficient_funds",
"source": "watchtower",
"status": "created",
"code": null
}
],
"trace_ids": {
"foo": "string"
},
"created_at": "2019-12-27T18:11:19.117Z",
"customer_details": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"customer_type": "individual",
"email": "ron@swanson.com",
"name": "Ron Swanson",
"phone": "+1234567890"
},
"documents": [
{
"document_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"document_name": "document_name",
"document_size": 0,
"document_type": "payment_authorization",
"uploaded_at": "2019-12-27T18:11:19.117Z"
}
],
"effective_at": "2019-12-27T18:11:19.117Z",
"metadata": {
"foo": "string"
},
"paykey_details": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"label": "Bank of America ****1234",
"balance": 0
},
"payment_rail": "ach",
"processed_at": "2019-12-27T18:11:19.117Z",
"related_payments": [
{
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"payment_type": "charge",
"relationship": "original"
}
],
"updated_at": "2019-12-27T18:11:19.117Z"
},
"meta": {
"api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"api_request_timestamp": "2019-12-27T18:11:19.117Z"
},
"response_type": "object"
}