Adding a wire transfer payment source
How to add an wire transfer payment source to an order
Problem
You have a pending order with a selected payment method that is associated with a manual payment gateway. You want to give your customer the possibility to pay with a wire transfer.
Solution
To add a wire transfer payment source to an order, you have to create a wire transfer payment source object and associate it with the order, as described in the Checkout guide.
Adding a payment sourceExample
1. Get the payment source type
The following request retrieves the attributes of the payment method associated with the order identified by the "yPMWYhmzON" ID:
curl -g -X GET \
'http://yourdomain.commercelayer.io/api/orders/yPMWYhmzON?include=payment_method' \
-H 'Authorization: Bearer your-access-token' \
-H 'Accept: application/vnd.api+json'On success, the API responds with a 200 OK status code, returning the requested order object and the associated payment method:
"data": {
"id": "yPMWYhmzON",
"type": "orders",
"links": {
"self": "https://yourdomain.commercelayer.io/api/orders/yPMWYhmzON"
},
"attributes": {...},
"relationships": {
"market": {
"links": {...}
},
"customer": {
"links": {...}
},
"shipping_address": {
"links": {...}
},
"billing_address": {
"links": {...}
},
"available_payment_methods": {
"links": {...}
},
"payment_method": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/orders/yPMWYhmzON/relationships/payment_method",
"related": "https://yourdomain.commercelayer.io/api/orders/yPMWYhmzON/payment_method"
},
"data": {
"type": "payment_methods",
"id": "rGEbqRsxMW"
}
},
"payment_source": {
"links": {...}
},
"line_items": {
"links": {...}
},
"shipments": {
"links": {...}
}
},
"meta": {
"mode": "test"
}
},
"included": [
{
"id": "rGEbqRsxMW",
"type": "payment_methods",
"links": {
"self": "https://yourdomain.commercelayer.io/api/payment_methods/rGEbqRsxMW"
},
"attributes": {
"payment_source_type": "wire_transfers",
"name": "Wire Transfer",
"disabled_at": null,
"price_amount_cents": 0,
"price_amount_float": 0.0,
"formatted_price_amount": "€0,00",
"created_at": "2018-01-01T12:00:00.000Z",
"updated_at": "2018-01-01T12:00:00.000Z",
"reference": null,
"reference_origin": null,
"metadata": {}
},
"relationships": {
"market": {
"links": {...}
},
"payment_gateway": {
"links": {...}
}
},
"meta": {
"mode": "test"
}
}
]
}2. Create the payment source and associate it with the order
The following request creates a wire transfer object and associates it with the order identified by the "yPMWYhmzON" ID:
curl -g -X POST \
'http://yourdomain.commercelayer.io/api/wire_transfers' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer your-access-token' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"type": "wire_transfers",
"attributes": {},
"relationships": {
"order": {
"data": {
"type": "orders",
"id": "yPMWYhmzON"
}
}
}
}
}'On success, the API responds with a 201 Created status code, returning the created wire transfer object:
{
"data": {
"id": "ZPOQXtzvGk",
"type": "wire_transfers",
"links": {
"self": "https://yourdomain.commercelayer.io/api/wire_transfers/ZPOQXtzvGk"
},
"attributes": {
"payment_instrument":{...},
"created_at": "2018-01-01T12:00:00.000Z",
"updated_at": "2018-01-01T12:00:00.000Z",
"reference": null,
"reference_origin": null,
"metadata": {}
},
"relationships": {
"order": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/wire_transfers/ZPOQXtzvGk/relationships/order",
"related": "https://yourdomain.commercelayer.io/api/wire_transfers/ZPOQXtzvGk/order"
}
}
},
"meta": {
"mode": "test"
}
}
}More to read
See our documentation if you need more information on how to retrieve an order, include associations, or create a wire transfer. See our Checkout guide for more details on how to place an order.
Placing the orderLast updated

