Boarding a Stripe Connect Merchant

There are two ways to board a Stripe Connect merchant: via the Gateway Manager or via the API.
Boarding via the Gateway Manager
To board a Stripe Connect merchant in the Gateway Manager, you will need the following information:
  • Stripe Secret Key
  • Stripe User ID
  1. After you have obtained the secret key and user ID, open the merchant in the Gateway Manager and select
    Attach processing path
    .
  2. Select Stripe as Clearing Institute and enter the data.
  3. To complete the set up, select 
    Attach processing path
    .
Boarding via the API
Your goal is to use the Payworks API to create a Payworks Merchant that can process payments via Stripe Connect.
The API calls discussed below are usually called
after
a successful OAuth workflow has been completed with the Stripe Standalone Account or
after
you have successfully created the Stripe Managed Account.
1. Create a Merchant with STRIPE as the processing path
post
/v2/merchants/
Try it out!
Request
{ "processingPaths":[ { "name":"Default", "schemes":[ "VISA", "MASTER", "VISAELECTRON", "MAESTRO", "AMERICAN_EXPRESS", "DISCOVER" ], "currencies":[ "GBP" ], "details":{ "institute":"STRIPE_PAYWORKS", "secretKey":"sk_test_sECkACoegue5vuhwXva3eN6k", "accountId":"acct_123AbcAa7aiN7PTk", "chargeMethod":"DIRECT" } } ], "name":"Stripe Merchant #42", "details":{ "publicName":"Public Merchant Name", "address":"42 Merchant Street", "zip":"SW1P 2AW", "city":"London", "country":"GB", "contact":"+44 (170) 1234567" }, "readers":[ ] }
Pay special attention to these parameters:
$.processingPaths.currencies
Provide the
Currency
you want to process payments in. Currently
GBP
for Stripe UK and
USD
for Stripe US are supported.
$.processingPaths.details.secretKey
Provide the
Stripe Secret Key of your own Stripe Platform Account
and not the Stripe Secret Key of the connected Stripe Account.
$.processingPaths.details.accountId
Provide the
Stripe Account ID
of the connected account. You receive the Stripe Account ID from Stripe after successfully performing the OAuth workflow required for Standalone Accounts or after successful creation of a Managed Account.
$.processingPaths.details.chargeMethod
$.name
Specify a unique (internal) name for each merchant that you create.
$.details
For the payment receipts, you need to provide some information about the merchant, including
public name, street address, and a contact phone number / email address.
You will receive a
merchantIdentifier
after successfully creating the merchant:
Response
{ "status": "ok", "data": { /*...*/ "identifier": "74b47dcd-45b0-4c65-a4d1-afd4aae32708", "name": "Stripe Merchant #42" /*...*/ } }
2. Generate the Merchant Secret Key
Next you can generate a Merchant Secret Key for the Merchant via the API:
post
/v2/merchants/{merchantIdentifier}/secretKey
Try it out!
Request
{ "permissions": ["READER_MANAGEMENT","TRANSACTIONS"] }
You will receive the Merchant Secret Key in the response:
Response
{ "status": "ok", "data": { "status": "ACTIVE", "key": "9pCcTI2mzUbLKoCdezVBowhv0b6gGwoo" } }
3. (Optional) Find the reader you want to assign to the merchant
The platform keeps track of all the readers that you have purchased. In order to assign a reader to the new merchant you have created in Step 1, you must know its
readerIdentifier
. Use this API to find the
readerIdentifier
of a reader based on its serial number (e.g. 999-100001):
get
/v2/readers/?search=999-100001
Try it out!
Request
You will receive the
readerIdentifier
in the response:
Response
{ "status": "ok", "data": [{ /*...*/ "identifier": "0665ede3-3990-4c9b-beac-77abfeda5858", "model": "MIURA_M010", "details": { "serialNo": "999100001" /*...*/ } }] }
4. (Optional) Assign the reader to new merchant
Based on the
merchantIdentifier
from Step 1 and the
readerIdentifier
from Step 3, you can now assign the reader to the merchant:
put
/v2/merchants/{merchantIdentifier}/readers/{readerIdentifier}
Try it out!
Request