For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 source

Example

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",
      "organization_id": "Ab0cCdDeFf",
      "trace_id": "2f5a8b1c4d7e0f3a6b9c2d5e8f1a4b7c0d3e6f9a2b5c8d1e4f7a0b3c6d9e2f5a8"
    }
  },
  "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",
        "organization_id": "Ab0cCdDeFf",
        "trace_id": "2f5a8b1c4d7e0f3a6b9c2d5e8f1a4b7c0d3e6f9a2b5c8d1e4f7a0b3c6d9e2f5a8"
      }
    }
  ],
  "meta": {
    "mode": "test",
    "organization_id": "Ab0cCdDeFf",
    "trace_id": "2f5a8b1c4d7e0f3a6b9c2d5e8f1a4b7c0d3e6f9a2b5c8d1e4f7a0b3c6d9e2f5a8"
  }
}

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:

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 order

Last updated