Active Transfer APIs
APIs
POST /transfers/{transferId}
Creates a transfer request to move funds from a source link to a destination link. The transferId is optional. If transferId is not passed, the Disbursement Platform will create one. The partner generated transferid must be unique for a given partner program and meet the following format criteria:
- Length = 6-40 and allowable characters include alphanumeric and , - _ ~
The transfer status can be in one of the following statuses. The status of a transfer can be retrieved by checking Status on the response object of GET /transfers/TransferID.
Status | Description |
---|---|
Pending | The transfer request is pending, and the funds have NOT been deposited to the recipient. |
Completed | The transfer request is complete, and the funds have been deposited to the recipient. |
Failed | The transfer request failed, and the funds have NOT been deposited to the recipient. |
Rejected | The transfer request is rejected, and the funds have NOT been deposited to the recipient. |
Request
Field | Type | Format | Required | Description |
---|---|---|---|---|
transferobjects:sourceuri | string | Max 255 characters | Yes | The LinkURI of the funding source. |
transferobjects:destinationuri | string | Max 255 characters | Yes | The LinkURI of the destination. |
transaction:amount | string | Max 8 characters (99999.99) | Yes | Amount to be transferred. |
transaction:currency | string | Max 3 characters | Yes | USD - US Dollar. |
transaction:description | string | Max 250 characters | No | Optional transaction description. |
transaction:transactiondate | string | ISO 8601 | Yes | Transaction date time of transfer. |
options | string | Array of key/value pair | No | Array of Key/Value pair that partner can use to pass any special options for the transfer. |
retailer:retailerkey | string | Max 5 characters | Conditional | Retailer object is mandatory for POS transactions. Retailer identifier for this transaction (Provided by Green Dot). This field is Mandatory if retailer complex object is passed with a non-null value. |
retailer:storenumber | string | Max 50 characters | No | Store number or Store ID of the retailer where the transaction was initiated. |
retailer:terminalid | string | Max 10 characters | No | Register/Terminal ID of the POS system where the transaction was initiated. |
retailer:statecode | string | Max 2 characters | No | State where the transaction was initiated. |
retailer:storename | string | Max 50 characters | No | Store where the transaction was initiated. |
Response
- transferid: The unique identifier for this transfer.
- status: See the status table above.
- claimcode: Optional. For Cash transactions, the recipient will use this claim code to claim cash at the register.
- claimexpirationdate: Optional. For Cash transactions, the date and time the claim code expires.
- fees: Complex object. See example below.
- allowedamount: Maximum amount allowed for this transfer.
- fundsavailability: Funds availability can conditionally be any one of the following:
- IMMEDIATE
- NEXT_BUSINESS_DAY
- TWO_TO_FIVE_BUSINESS_DAYS
- externalreferenceid: The transaction reference ID shared with the Card Issuer.
- responsecode: Response code associated to the Transfer.
- If 0 – Success, refer to transaction status to confirm is ‘Completed’ or ‘Pending.’
- If not 0 – Success, it provides the code explaining why transaction failed.
- responsemessage: Description of response code.
- responsedate: The response date and time.
- responsedetailcode: Detail code associated to Transfer Request.
- responsedetailcodedescription: Detail description of detail code.
Request Sample
Creates a transfer request from source to destination.
{
"transferobjects":{
"sourceuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e",
"destinationuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e/links/gdaccounts/0739196f-6d05-4dd2-b8c3-576cd997ce17"
},
"transaction":{
"amount":"25.00",
"currency":"USD",
"description":"Payroll",
"transactiondate":"2015-11-16T15:20:000Z"
},
"options":[
{
"key":"Sample-Key1",
"value":"Sample-Value1"
},
{
"key":"Sample-Key2",
"value":"Sample-Value2"
}
]
}
Response Sample (Success)
{
"transferid":"a359722c-78a6-4034-b77a-a5745153f79b",
"status":"Completed",
"claimcode":"3f8a377d-c834-4a41-840a-db37a93f89c6",
"claimexpirationdate":null,
"fees":null,
"allowedamount":null,
"fundsavailability":"IMMEDIATE",
"externalreferenceid":"710400478098",
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2017-04-14T23:35:23.7061123Z",
"responsedetail":{
"responsedetailcode":0,
"responsedetaildescription":"Success"
}
}
POST/transfers Request (ACH)
{
"transferobjects":{
"sourceuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e",
"destinationuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e/links/950e4868-9f51-4a08-96a7-fcad96c4458e"
},
"transaction":{
"amount":"350.00",
"currency":"USD",
"description":"ACH deposit to customer X",
"transactiondate":"2015-11-16T15:20:000Z"
},
"retailer":null,
"options":[
{
"key":"Sample-Key1",
"value":"Sample-Value1"
},
{
"key":"Sample-Key2",
"value":"Sample-Value2"
}
]
}
POST/transfers Response (ACH) (Success)
{
"transferid":"a359722c-78a6-4034-b77a-a5745153f79b",
"status":"Completed",
"claimcode":"3f8a377d-c834-4a41-840a-db37a93f89c6",
"claimexpirationdate":null,
"fees":null,
"allowedamount":null,
"fundsavailability":"IMMEDIATE",
"externalreferenceid":"710400478098",
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2017-04-14T23:35:23.7061123Z",
"responsedetail":{
"responsedetailcode":0,
"responsedetaildescription":"Success"
}
}
POST/transfers Request (BARCODE)
{
"transferobjects":{
"sourceuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e",
"destinationuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e/links/barcodes/GDP12345678"
},
"transaction":{
"amount":"350.00",
"currency":"USD",
"description":"Barcode Deposit",
"transactiondate":"2015-11-16T15:20:000Z"
},
"retailer":{
"retailerkey":"2433",
"storenumber":"ABC123",
"terminalid":"00112233",
"statecode":"CA",
"storename":"somestore"
},
"options":[
{
"key":"Sample-Key1",
"value":"Sample-Value1"
},
{
"key":"Sample-Key2",
"value":"Sample-Value2"
}
]
}
POST/transfers Response Sample (BARCODE) (Success)
{
"transferid":"af8972eb-1294-4914-ac1a-62228a61c6ca",
"status":"Pending",
"claimcode":" c0902f89-d524-42c9-882f-52a9eee58494",
"claimexpirationdate":"0001-01-01T00:00:00",
"fees":[
{
"feetype":"purchase fee",
"feeamount":3.95
}
],
"allowedamount":500.00,
"fundsavailability":"",
"responsecode":"0",
"responsemessage":"Success",
"responsedate":"2015-10-02T09:00:000Z"
"responsedetail":{
"responsedetailcode":10,
"responsedetaildescription":"None"
}
}
Validation Failure
{
"transferid":"894dc73b-0367-4bf3-b2a7-12b0838b04a1",
"status":"Failed",
"claimcode":"",
"claimexpirationdate":"",
"responsecode":"80",
"responsemessage":"Limits Exceeded",
"responsedate":"2015-10-03T09:00:000Z"
"responsedetail":{
"responsedetailcode":"3020",
"responsedetaildescription":"Recipient Limit Exceeded"
}
}
Error
{
"errors":[
{
"errorcode":"1250",
"errordescription":"Invalid Currency Type was specified"
}
]
}
Point of Sales POST /transfers Example 2
{
"transferobjects":{
"sourceuri":"https://partners.greendotonline.com/customers/dc59ab18-1a4d-42b8-99a1-3bcbb23cd88a",
"destinationuri":"https://partners.greendotonline.com/customers/dc59ab18-1a4d-42b8-99a1-3bcbb23cd88a/links/bankcards/03b9c0ff-552d-470f-8d69-b5fceb0f242a"
},
"transaction":{
"amount":20.15,
"currency":"USD",
"description":"Transfer Unit Test",
"transactiondate":"2016-08-25T17:28:07.786624-07:00",
"lastmodifieddate":"0001-01-01T00:00:00"
},
"options":[
],
"retailer":null
}
Success
{
"transferid":"ut-1844220b-0cba-48f5-827f-947916a1ad71",
"status":"Completed",
"claimcode":"c0902f89-d524-42c9-882f-52a9eee58494",
"claimexpirationdate":"0001-01-01T00:00:00",
"fees":null,
"allowedamount":null,
"fundsavailability":"IMMEDIATE",
"externalreferenceid":"710400478098",
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2016-08-26T00:28:32.3460797Z",
"responsedetail":{
"responsedetailcode":10,
"responsedetaildescription":"None"
}
}
POST /transfers/confirm/{transferid}
Confirms a transfer request previously initiated by the /transfers call. This can also be used to cancel a claimcode already generated.
Request Body
/transfers/confirm/36145748-4892-4ba6-b0d6-0efe6de55425
{
"transaction":{
"claimcode":"",
"amount":40.00"status":"",
"storenumber":"Wal-xxx",
"actiontype":"commit"
},
"recipient":{
"firstname":"jack",
"lastname":"smith",
"streetaddress":"123 Main St",
"city":"Eureka",
"state":"CA",
"zipcode":"91010",
"dateofbirth":"2015-10-29T04:13:05.11",
"socialsecuritynumber":"555123456",
"identificationid":"CA093283",
"identificationtype":"1",
"identificationissuedby":"CA",
"identificationexpirationdate":"01-01-2019"
}
}
Request Parameters
Field | Type | Format | Required | Description |
---|---|---|---|---|
transaction:claimcode | string | Max 100 characters | Conditional | Claim code for this transfer. |
Transaction:amount | Nullable | ddddd.dd | Conditional | Amount which is paid. |
transaction:status | string | Max 50 characters | Conditional | Valid values are Completed OR Failed. |
transaction:storenumber | string | Max 50 characters | Yes | Retailer store # where transaction was completed. |
transaction:actiontype | string | Max 25 characters | Yes | Valid values are Commit OR Void OR CancelClaimCode. |
recipient:firstname | string | Max 25 characters | No | The first name of the person who will claim/remit cash at the retailer. |
recipient:lastname | string | Max 25 characters | No | The last name of the person who will claim/remit cash at the retailer. |
recipient:socialsecuritynumber | string | Max 11 characters | Conditional | The Social Security Number of the person that will claim/remit cash at the retailer. |
recipient:streetaddress | string | Max 255 characters | No | Address details of the person who will claim/remit cash at the retailer. |
recipient:city | string | Max 55 characters | No | City name. |
recipient:state | string | Max 2 characters | No | State code. |
recipient:zipcode | string | Max 10 characters | Yes | Zipcode / postal code. |
recipient:dateofbirth | string | Max 10 characters | No | Date of birth in the format MM-DD-YYYY. |
recipient:identificationid | string | Max 250 characters | No | Customer photo ID number. |
recipient:identificationissuedby | string | Max 100 characters | No | Agency that issued the identification. |
recipient:identificationtype | string | Max 50 characters | No | The type of ID presented by the person who will claim/remit cash at the retailer. Valid values include: 1= Driving License 2 = State ID 3 = SSN |
recipient:identificationexpirydate | string | Max 10 characters | No | Date the ID expires. MM-DDYYYY. |
Note: Transaction:DateTime will be captured internally in the Green Dot system to use the current date/time of when request is received as the Transaction Date/Time. Therefore, Transaction:DateTime is not required in the input request.
Response Objects
- transferid: The unique identifier for this transfer.
- status: Completed or Failed.
- changedate: Last status of the transaction in UTC format.
- claimcode: Optional. For Cash transactions, the recipient will use this claim code to claim cash at the register.
- claimcodeexpiration: Optional. For Cash transactions, the date and time the claim code expires in UTC format.
- receipttext: Receipt Text.
- responsecode: See the response code & description below.
- responsemessage: See the response code & description below.
- responsedate: The response date and time.
Success Example
{
"transferid":"36145748-4892-4ba6-b0d6-0efe6de55425",
"status":"Completed",
"claimcode":"",
"changedate":"2015-10-02T09:00:000Z",
"claimcodeexpirationdate":"2015-10-05T09:00:000Z",
"receipttext":"funds posted successfully",
"responsecode":"0",
"responsemessage":"Success",
"responsedate":"2015-10-02T09:00:000Z"
}
Error Example
{
"errors": [{
"errorcode": "1310",
"errordescription": “Invalid TransferId "
}
}
Sample Request/Response for CancelClaimCode:
{
"transaction":{
"actiontype":"CancelClaimCode"
}
}
Success
{
"transferid":"d3ed0a14-b425-4dc3-9bcb-ce1c24dd2eb9",
"status":null,
"changedate":"2021-03-02T22:42:34.313Z",
"claimcode":"ECW79531426",
"claimcodeexpirationdate":"2015-10-05T09:00:000Z",
"customerfee":0.0,
"retailcommission":0.0,
"partnername":null,
"receipttext":null
}
GET/transfers/{transferId}
Request
None.
Response Object
- partnerprogramidentifier: Unique ID provided by GD for the given partner program.
- transferid: Transfer Id associated with the request.
- statuscode: code associated with the status.
- status: Status of the transaction. Possible statues are included below.
Status | Description |
---|---|
1 | Pending |
2 | Completed |
3 | Failed |
4 | Rejected |
5 | Cancelled |
- statusreason: Description of the status, if failed. This gives more details like Partner Rejected, System Error etc.
- claimcode: claimcode, if any, associated with the transaction.
- claimcodeexpirationdate: claimcode expiration date.
- source: complex object (TransferEntity) – see example below.
- destination: complex object (TransferEntity) – see example below.
- transaction: complex object (Transaction) – see example below.
- reversals: complex object (Reversals) – see example below.
- options: array of object (Key/Value Pair) – see example below.
- responsecode: Response code associated to the GET/transfers/{transferId} API response.
- This is not the response code associated to the result of the transaction. To receive response detail information of the transaction, please use the GET/transfers/detailinfo/{transferrequestId} API.
- responsemessage: Description of the response code returned for the GET/transfers/{transferId} API response.
- responsedate: The response date and time.
- responsedetailcode: Detail code associated to the GET/transfers/{transferId} API response.
- This is not the detail code associated to the result of the transaction. To receive response detail information of the transaction, please use the GET/transfers/detailinfo/{transferrequestId} API.
- responsedetailcodedescription: Detailed description of response code.
GET Request /transfers/09de0f64-ab04-4275-86c3-e882fd77035a
Success
{
"partnerprogramidentifier":"Test Payments",
"transferid":"a359722c-78a6-4034-b77a-a5745153f79b",
"statuscode":2,
"status":"Completed",
"statusreason":"TransferCompleted",
"claimcode":"3f8a377d-c834-4a41-840a-db37a93f89c6",
"claimcodeexpirationdate":null,
"source":{
"name":"Valued Customer",
"id":"32bd412d-efc3-497a-ae2c-7fee4a208f04"
},
"destination":{
"name":"",
"id":"174a4d63-4930-4e6a-86c6-db0f1f829038"
},
"transaction":{
"retailername":null,
"fees":null,
"receipttext":null,
"amount":7.9100,
"currency":"USD",
"description":"",
"originaltransferid":null,
"isreversal":false,
"transactiondate":"2016-04-07T18:45:16.94Z",
"lastmodifieddate":"2017-04-18T00:12:21.323Z",
"externalreferenceid":"710400478098"
},
"reversals":[],
"options":[
{
"key":"MyKey1",
"value":"MyValue1"
}
],
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2017-04-19T00:21:21.2699191Z",
"responsedetail":{
"responsedetailcode":10,
"responsedetaildescription":"None"
}
}
GET Request (reversal) /transfers/60125287-f707-4d65-8a02-e59c32fe4a86
Sucesss
{
"partnerprogramidentifier":"LoanTest",
"transferid":"60125287-f707-4d65-8a02-e59c32fe4a86",
"statuscode":4,
"status":"Rejected",
"statusreason":"ExternalPartyRejectedRequest",
"claimcode":"91befb4c-7d05-449f-a2ea-cc3afd64a2f6",
"claimcodeexpirationdate":null,
"source":{
"name":"john smith",
"id":"07ba92a2-bb42-4927-8507-2342e55df995"
},
"destination":{
"name":"",
"id":"e565de87-e6c3-48a2-a80f-62409f216994"
},
"transaction":{
"retailername":null,
"fees":null,
"receipttext":null,
"amount":0.11,
"currency":"USD",
"description":"",
"originaltransferid":"39dc6664-0839-40c7-bdba-bca847fce9cb",
"isreversal":true,
"transactiondate":"2015-11-24T16:00:12Z",
"lastmodifieddate":"2015-11-24T16:00:12Z"
},
"reversals":[],
"options":[
{
"key":"MyKey1",
"value":"MyValue1"
}
],
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2016-06-27T23:07:24.3640064Z",
"responsedetail":{
"responsedetailcode":0,
"responsedetaildescription":""
}
}
POST /transfers/batch/{batchId}
Creates a batch for the list of transfers to be performed. The api stages the transactions and performs the transfers in offline / asynchronous mode.
Request
Field | Type | Format | Required | Description |
---|---|---|---|---|
Batchid | Guid | Guid | No | Batch identifier which uniquely identifies the batch. |
description | string | Max 255 characters | Yes | Description of the batch. |
Transfers[] | TransferWrapperRequest[] | Object | Yes | Collection of individual transfer objects (one or more). |
TransferWrapper Object:
Field | Type | Format | Required | Description |
---|---|---|---|---|
Applicationrequestid | string | Max 255 characters | Yes | Unique Request ID for each of the transfer requests. |
TransferId | Guid | Guid | Yes | Unique Transfer ID for each of the transfer requests. |
transferobjects | Transfer Object | Object | Yes | Transfer object. |
Transfer Object:
Field | Type | Format | Required | Description |
---|---|---|---|---|
transferobjects:sourceuri | string | Max 255 characters | Yes | The LinkURI of the funding source. |
transferobjects:destinationuri | string | Max 255 characters | Yes | The LinkURI of the destination. |
transaction:amount | string | Max 8 characters (99999.99) | Yes | Amount to be transferred. Zero or negative are disallowed. |
transaction:currency | string | string | Yes | USD - US Dollar. |
transaction:description | string | string | No | Optional transaction description. |
transaction:transactiondate | string | ISO 8601 | Yes | Transaction date time of transfer. |
options | string | Array of key/value pair | No | Array of Key/Value pair that a partner can use to pass any special options for the transfer. |
retailer:retailerkey | string | Conditional | Retailer object is mandatory for POS transactions. Retailer identifier for this transaction (Provided by Green Dot). This field is Mandatory if retailer complex object is passed with a non-null value. | |
retailer:storenumber | string | Max 50 characters | No | Store number or Store ID of the retailer where the transaction was initiated. |
retailer:terminalid | string | Max 10 characters | No | Register/Terminal ID of the POS system where the transaction was initiated. |
retailer:statecode | string | Max 2 characters | No | State where the transaction was initiated. |
retailer:storename | string | Max 50 characters | No | Store where the transaction was initiated. |
Response Parameters
- batchid: The unique identifier for this batch transfer.
- creationdate: Date/Time of the batch creation.
- description: batch description.
- recordcount: count of number of transfers being performed.
- batchdetailrecordstatus: status of each batch detail records
- transferid: transfer reference number
- statuscode: status of the detail record (uses the existing response detail code values, “0” stands for success)
- statusmessage: status description/details
- responsecode: Response code.
- responsemessage: Description of response code.
- responsedate: The response date and time.
- responsedetailcode: Detail code associated to Transfer Request.
- responsedetailcodedescription: Detail description of detail code.
Request Sample:
Creates a transfer request from source to destination.
"transfers":[
{
"applicationrequestid":“d19b161e - ccf1 - 47 c8 - 9 abc - 6e7 bc3f54393”,
"transferid":“900 c57e8 - 91 f5 - 48 fa - 9346 - dd790fb22b58”,
"transferobjects":{
"sourceuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e",
"destinationuri":"https://partners.greendotonline.com/customers/950e4868-9f51-4a08-96a7-fcad96c4458e/links/gdaccounts/0739196f-6d05-4dd2-b8c3-576cd997ce17"
},
"transaction":{
"amount":"25.00",
"currency":"USD",
"description":"Payroll",
"transactiondate":"2015-11-16T15:20:000Z"
},
"options":[
{
"key":"Sample-Key1",
"value":"Sample-Value1"
},
{
"key":"Sample-Key2",
"value":"Sample-Value2"
}
]
}
]
Response Sample (Success):
{
"batchid":"a359722c-78a6-4034-b77a-a5745153f79b",
"recordcount":25,
"description":"monthly payroll - september",
"batchdetailrecordstatus":[
{
"transferid":"68176bf1-1a2e-4b36-a16a-c9bab7f947dc",
"statusmessage":"invalid customer id c1e4e302-0c4b-47b8-8f69-e4b308ce1b7",
"statuscode":"4011"
}
],
"creationdate":"“2017 - 04 - 14 T23":"35":23.7061123 Z”,
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2017-04-14T23:35:23.7061123Z",
"responsedetail":{
"responsedetailcode":0,
"responsedetaildescription":"Success"
}
GET /transfers/batch/{batchId}
Returns transfers within a batch.
Request Parameters
Field | Type | Format | Required | Description |
---|---|---|---|---|
Batchid | Guid | Guid | No | Batch identifier which uniquely identifies the batch. |
Response Parameters
- batchid: The unique identifier for this batch transfer.
- status: complete/pending/processing.
- creationdate: DateTime of the batch creation.
- batchdescription: batch description.
- transfers: list of transfers within a batch.
- responsecode: Response code.
- responsemessage: Description of response code.
- responsedate: The response date and time.
- responsedetailcode: Detail code associated to Transfer Request.
- responsedetailcodedescription: Detail description of detail code.
Response Sample:
/transfers/batch/60125287-f707-4d65-8a02-e59c32fe4a86
{
"batchid":"60125287-f707-4d65-8a02-e59c32fe4a86 ",
"batchdescription":"monthly payroll - september",
"creationdate":"2017 - 04 - 14 T23: 35: 23.7061123 Z",
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2017-04-14T23:35:23.7061123Z",
"responsedetail":{
"responsedetailcode":0,
"responsedetaildescription":"Success"
},
"transfers":[
{
"applicationrequestid":"d19b161e-ccf1-47c8-9abc-6e7bc3f54393",
"transferid":"a359722c-78a6-4034-b77a-a5745153f79b",
"transferobjects":{
"sourceuri":"https://partners.greendotonline.com/customers/joesmithtest-e1a2e04e-b0be-4e07-b81c-9051930f9ffd",
"destinationuri":"https://partners.greendotonline.com/customers/joesmithtest-e1a2e04e-b0be-4e07-b81c-9051930f9ffd/links/joesmithtest-e1a2e04e-b0be-4e07-b81c-9051930f9
ffd"
},
"partnerprogramidentifier":"Test Payments",
"statuscode":2,
"status":"Completed",
"statusreason":"TransferCompleted",
"claimcode":"3f8a377d-c834-4a41-840a-db37a93f89c6",
"claimcodeexpirationdate":null,
"transaction":{
"retailername":null,
"fees":null,
"receipttext":null,
"amount":7.9100,
"currency":"USD",
"description":"",
"originaltransferid":null,
"isreversal":false,
"transactiondate":"2016-04-07T18:45:16.94Z",
"lastmodifieddate":"2017-04-18T00:12:21.323Z",
"externalreferenceid":"710400478098"
},
"reversals":[],
"options":[
{
"key":"MyKey1",
"value":"MyValue1"
}
],
"responsecode":0,
"responsemessage":"Success",
"responsedate":"2017-04-19T00:21:21.2699191Z",
"responsedetail":{
"responsedetailcode":10,
"responsedetaildescription":"None"
}
}
]
}
Updated 11 months ago