Connect Sub-Merchants To OptBlue (Legacy Solution)

Legacy Solution:

This page is applicable to those who have certified Amex OptBlue with us prior to April 2023. If you are integrating after April 2023, please reference the new onboarding flow to connect sub-merchants to OptBlue.

Now that you've constructed the Legal Entity and Account WePay API objects, you can indicate whether the sub-merchant is enrolled in AmEx's OptBlue program, and whether they would like to receive marketing content about the OptBlue program.

Remember:

The parameters listed here are the required parameters to onboard submerchants as a Payment Facilitator (PayFac). The API reference may indicate different requirements, but those requirements are the default, whereas PayFac requirements are enhanced.

Use the WePay Account ID in the POST /accounts/id endpoint to update their Account with this information:
Copy
Copied
curl -X POST \
  --url 'https://stage-api.wepay.com/accounts/{WePay-Account-ID}' \
  -H 'App-Id: {Your-App-Id}'\
  -H 'App-Token: {Your-App-Token}'\
  -H 'Accept: application/json'\
  -H 'Api-Version: 3.0'\
  -H 'Content-Type: application/json' \
  --data-raw '{
    "incoming_payments": {
      "amex": {
        "countries": {
            "US": {
                "opt_blue": {
                    "opt_into_marketing": true
                }
            }
        }
      }
  }
}'

Two things are achieved by executing the above API call:

  1. The sub-merchant is indicating that they are an AmEx OptBlue partner simply with the presence of the opt_blue object
  2. The sub-merchant is indicating that they are open to receiving marketing materials from AmEx when the value for "opt_into_marketing" is true

Here is an example of what the API response may look like:

Copy
Copied
{
	"name": "Example Name",
	"description": "Example Description",
	"industry": {
		"merchant_category_code": "Example MCC",
		"category_detail": "Example Category"
	},
	"reference_id": "Custom reference number",
	"statement_description": "Example Statement Description",
	"projected_monthly_transaction_volume": null,
	"incoming_payments": {
		"accepted_methods": ["payment_bank", "visa", "mastercard", "american_express", "discover", "jcb", "diners_club"],
		"amex": {
			"countries": {
				"US": {
					"opt_blue": {
						"opt_into_marketing": false,
						"amex_seller_id": "Example Seller ID",
						"amex_seller_number": 1234567890
					}
				}
			}
		}
	},
	"payout": {
		"default_currency": "USD",
		"currencies": {
			"USD": null
		}
	},
	"custom_data": null,
	"create_time": 1234567890,
	"balances": {
		"currencies": {}
	},
	"pricing": {
		"currencies": {
			"USD": {
				"credit_card": null,
				"payment_bank": null,
				"recurring_fee": null,
				"other_fees": {
					"debit_failure_fee": null
				}
			}
		}
	},
	"id": "{WePay-generated-UUID}",
	"resource": "accounts",
	"path": "/accounts/{WePay-generated-UUID}",
	"owner": {
		"id": "{WePay-generated-Legal-Entity-UUID}",
		"resource": "legal_entities",
		"path": "/legal_entities/{WePay-generated-Legal-Entity-UUID}"
	},
	"api_version": "3.0",
	"platform_onboarding_time": null,
	"beneficiary": {
		"id": "{WePay-generated-UUID}",
		"resource": "legal_entities",
		"path": "/legal_entities/{WePay-generated-UUID}"
	},
	"documents": []
}

Note that a sub-merchant can only be considered onboarded to AmEx OptBlue when a valid seller ID and number returns.


Next to Handle OptBlue Response Files