Exchanges
Create an exchange for a customer
Creates an exchange connection between a customer and Dwolla. Request body varies by partner (Plaid, MX, Flinks, Finicity, Checkout.com). For bank accounts, use Plaid, MX, Flinks, or Finicity to establish secure access to the customer’s bank account data. For debit cards (Push to Card), use Checkout.com and pass the payment ID from Checkout.com Flow.
POST
/
customers
/
{id}
/
exchanges
cURL
POST https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980/exchanges
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
{
"_links": {
"exchange-partner": {
"href": "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
}
},
"token": "somePlaidProcessorToken"
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node
var customerUrl = "https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980";
var requestBody = {
_links: {
"exchange-partner": {
href: "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef",
},
},
token: "somePlaidProcessorToken",
};
dwolla.post(`${customerUrl}/exchanges`, requestBody).then((res) => res.headers.get("location")); // => 'https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d'
# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python
customer_url = 'https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980'
request_body = {
'_links': {
'exchange-partner': {
'href': 'https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef'
}
},
'token': 'somePlaidProcessorToken'
}
exchange = app_token.post('%s/exchanges' % customer_url, request_body)
exchange.headers['location'] # => 'https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d'
<?php
// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php
$exchangesApi = new ExchangesApi($apiClient);
$customerUrl = "https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980";
$exchange = $exchangesApi->createCustomerExchange(new CreateExchangeRequest([
"_links" => [
"exchange-partner" => [
"href" => "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
]
],
"token" => "somePlaidProcessorToken"
]), $customerUrl);
$exchange; # => https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
?>
# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby
customer_url = 'https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980'
request_body = {
_links: {
'exchange-partner': {
href: "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
}
},
token: 'somePlaidProcessorToken'
}
exchange = app_token.post "#{customer_url}/exchanges", request_body
exchange.response_headers[:location] # => "https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d"
{
"code": "InvalidExchangeToken",
"message": "Exchange token is expired."
}{
"code": "InvalidExchangeToken",
"message": "The exchange token is not valid to perform this operation. Either the token is expired or invalid, or the products permissions to the token are invalid or expired."
}{
"code": "NotFound",
"message": "The requested resource was not found."
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
The media type of the response. Must be application/vnd.dwolla.v1.hal+json
Available options:
application/vnd.dwolla.v1.hal+json Path Parameters
The ID of the customer to create an exchange for
Body
application/vnd.dwolla.v1.hal+json
Response
created
Was this page helpful?
⌘I
cURL
POST https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980/exchanges
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
{
"_links": {
"exchange-partner": {
"href": "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
}
},
"token": "somePlaidProcessorToken"
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node
var customerUrl = "https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980";
var requestBody = {
_links: {
"exchange-partner": {
href: "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef",
},
},
token: "somePlaidProcessorToken",
};
dwolla.post(`${customerUrl}/exchanges`, requestBody).then((res) => res.headers.get("location")); // => 'https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d'
# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python
customer_url = 'https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980'
request_body = {
'_links': {
'exchange-partner': {
'href': 'https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef'
}
},
'token': 'somePlaidProcessorToken'
}
exchange = app_token.post('%s/exchanges' % customer_url, request_body)
exchange.headers['location'] # => 'https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d'
<?php
// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php
$exchangesApi = new ExchangesApi($apiClient);
$customerUrl = "https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980";
$exchange = $exchangesApi->createCustomerExchange(new CreateExchangeRequest([
"_links" => [
"exchange-partner" => [
"href" => "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
]
],
"token" => "somePlaidProcessorToken"
]), $customerUrl);
$exchange; # => https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
?>
# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby
customer_url = 'https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980'
request_body = {
_links: {
'exchange-partner': {
href: "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
}
},
token: 'somePlaidProcessorToken'
}
exchange = app_token.post "#{customer_url}/exchanges", request_body
exchange.response_headers[:location] # => "https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d"
{
"code": "InvalidExchangeToken",
"message": "Exchange token is expired."
}{
"code": "InvalidExchangeToken",
"message": "The exchange token is not valid to perform this operation. Either the token is expired or invalid, or the products permissions to the token are invalid or expired."
}{
"code": "NotFound",
"message": "The requested resource was not found."
}