Skip to content

Create Request

Use the /merchant/{merchant_id}/requests endpoint to create a financing request.

POST /merchant/{merchant_id}/requests
EnvironmentURL
Livehttps://api.wegetfinancing.com/merchant/{merchant_id}/requests
Sandboxhttps://api.sandbox.wegetfinancing.com/merchant/{merchant_id}/requests

HTTP Basic Auth. See Public API Overview.

The version parameter controls the postback dialect WeGetFinancing uses when notifying your server of a decision — it does not gate which request fields are accepted. All request fields are available regardless of version.

version valuePostback format
"0.2" (default)URL-encoded (application/x-www-form-urlencoded)
"1.0"JSON, legacy structure (inv_id, inv_status)
"1.9"JSON, modern structure (request_token, updates.status) — recommended

See Postbacks to Merchants for the full payload format per version.

Content-Type: application/json
FieldTypeRequiredDescription
first_namestringYesCustomer first name
last_namestringYesCustomer last name
emailstringYesCustomer email
phonestringNo10-digit phone number
billing_addressAddressYesBilling address
shipping_addressAddressNoShipping address (defaults to billing_address if omitted)
cart_itemsCartItem[]NoProducts in the cart (use instead of amount)
shipping_amountdecimal(2)NoShipping cost (default 0)
tax_amountdecimal(2)NoTotal tax amount (optional override; computed from cart_items if omitted)
amountdecimalNoTotal loan amount — auto-calculated from cart_items if omitted
currencyenumNo"USD" (default) or "CAD". Validated against the billing-address country. See Country & currency support.
versionstringNoPostback dialect: "0.2" (default, URL-encoded), "1.0", "1.9" (JSON, recommended). See Postbacks to Merchants.
merchant_transaction_idstringNoYour internal order ID, returned in postbacks
postback_urlstringNoOverrides postback URL configured in back-office
success_urlstringNoRedirect URL on successful transaction
failure_urlstringNoRedirect URL on failed transaction
sent_to_consumerbooleanNoIf true, the process is sent to the customer by email/phone rather than continued online
software_namestringNoShopping cart software name
software_versionstringNoShopping cart software version
software_plugin_versionstringNoPlugin version
preapproval_onlybooleanNoNo longer supported. Sending this field returns an error.

The customer’s financial details (income, employment, banking, ID, residence, etc.) are not submitted through this endpoint — WeGetFinancing collects them directly from the applicant during the hosted application flow.

FieldTypeRequiredExample
street1stringYes"6 West End Court 1"
citystringYes"Long Branch"
statestring (2 chars)Yes"NJ" (US) or "ON" (CA)
zipcodestringYes"07740" (US ZIP) or "M5V 2T6" (CA postal code)
countryenumNo"US" (default) or "CA". New in the 2026-05 Canada release; see Country & currency support.

Country-aware validation (new in the 2026-05 Canada release):

  • For US addresses, state must be a 2-letter US state (50 states + DC) and zipcode a 5-digit ZIP.
  • For CA addresses, state must be a 2-letter Canadian province or territory (e.g. ON, BC, QC) and zipcode a Canadian postal code (e.g. M5V 2T6). Lower-case and full-name inputs are normalised to the 2-letter code.
  • country defaults to "US" when omitted on an address.
  • If the billing and shipping addresses carry different countries, the request is rejected with Mismatched billing/shipping countries: <X> vs <Y>.
FieldTypeRequiredDescription
display_namestringYesHuman-readable product name
unit_pricedecimalYesPrice per unit
quantityintegerYesNumber of units
skustringNoInternal product reference
unit_taxdecimalNoTax amount per unit
categorystringNoProduct category (e.g. jewelry, electronics)

Tax handling: unit_tax is the per-unit tax amount. The total cart tax is the sum of unit_tax × quantity across all items.

All examples send the same JSON body with HTTP Basic auth (your API username and password) and read href (show to the customer) and inv_id (save as the request token) from the response.

Terminal window
curl -u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-X POST \
"https://api.sandbox.wegetfinancing.com/merchant/1234/requests" \
-d '{
"first_name": "John", "last_name": "Doe",
"email": "john@example.com", "phone": "2222222222",
"billing_address": {"street1":"6 West End Court 1","city":"Long Branch","state":"NJ","zipcode":"07740"},
"cart_items": [{"display_name":"TV","quantity":1,"unit_price":1370,"unit_tax":52.69}],
"shipping_amount": 50, "merchant_transaction_id": "ORDER-123",
"postback_url": "https://your-shop.com/api/postback", "version": "1.9"
}'

The 2026-05 Canada release added country and currency handling to the create-request flow. currency is an optional root field (see Root Fields); the loan’s country is taken from the billing address (billing_address.country — see Address). There is no root-level country field.

FieldWhereValuesDefault
countryon each address (billing_address / shipping_address)"US", "CA""US"
currencyroot"USD", "CAD""USD"
  • If you omit the address country, the address is treated as US.
  • If you omit currency, the country’s default currency is applied.
  • Pass currency explicitly whenever the currency matters to you. Relying on the default means you accept whatever the country’s default currency is — sending currency guarantees the intent.
  • Loans are currently USD-denominated for both US and CA (lenders fund in USD). "CAD" is reserved for a future Canadian-dollar policy and is not yet accepted.

currency is normalised (upper-cased, default applied) and cross-checked against the billing-address country:

Billing countrycurrencyResult
omitted (→ US)omittedaccepted as US / USD
CAomittedaccepted as CA / USD
CAUSDaccepted as CA / USD
CACADrejected — Invalid country/currency pairing: CA/CAD. Expected CA/USD.
USCADrejected — Invalid country/currency pairing: US/CAD. Expected US/USD.
MX (unsupported)rejected — Unsupported country: 'MX'
billing ≠ shipping countryrejected — Mismatched billing/shipping countries: <X> vs <Y>
Terminal window
curl -u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-X POST \
"https://api.sandbox.wegetfinancing.com/merchant/1234/requests" \
-d '{
"first_name": "Marie", "last_name": "Tremblay",
"email": "marie@example.com", "phone": "4165550123",
"currency": "USD",
"billing_address": {"street1":"100 Queen St W","city":"Toronto","state":"ON","zipcode":"M5H 2N2","country":"CA"},
"cart_items": [{"display_name":"TV","quantity":1,"unit_price":1370,"unit_tax":178.10}],
"shipping_amount": 50, "merchant_transaction_id": "ORDER-124",
"postback_url": "https://your-shop.com/api/postback", "version": "1.9"
}'

currency and the address country apply the same way to every language example above — add them to the request body alongside the existing fields.

{
"inv_id": "df0c3186b69be8aad35ff837a841d347",
"href": "https://partner.sandbox.wegetfinancing.com/partner.sandbox/lc/info/df0c3186b69be8aad35ff837a841d347",
"amount": "1420.00"
}
FieldTypeDescription
inv_idstringUnique request ID. Used to identify orders in postbacks and the partner portal.
hrefstringURL to show the customer (lightbox).
amountdecimal (string)Calculated loan amount.