Repository navigation
FAQ
Answers to common questions about the Sample Connect Provider. If your question is not here, open an issue.
No. It is a test project. It hard-codes one client, one authorization code and one access token, skips real user login and exposes your secret keys in the browser. Use it to learn the flow and build your own bridge.
Retail and e-commerce service providers — for example dropshipping suppliers, fulfillment centers and marketplaces — that want Selldone merchants to connect their shops with one click and sync products and orders.
You need a wallet in USD and a one-time charge of 20 USD to create the connect bridge. Merchants can select your service in Channel > Connect OS only if your provider has a bridge.
Selldone calls your login URL, token URL and webhook URLs from the internet. localhost is not reachable, so deploy the project on a server with a public IP or domain.
The public/ folder is ignored by Git in this repository. Copy public/index.php and public/.htaccess from the Laravel 8 skeleton, then build the front end with npm run dev or npm run watch.
Use npm run watch (or yarn watch). The scripts are defined in package.json.
Check that SD_PROVIDER_WEBHOOK_SIGN_KEY matches the sign key on Selldone > Your provider > Webhooks. The bridge verifies Selldone-Sign-Hash as a Bcrypt hash of {sign key}:{Selldone-Sign-Id}.
The sample only accepts Authorization: Bearer {SAMPLE_ACCESS_TOKEN}. Connect the shop again through the OAuth flow so Selldone stores that token, or change the check to look up your own tokens.
routes/web.php maps POST /auth/token to Controller::class, while the token() method is implemented in AuthorizationController. Point the route to AuthorizationController::class in your copy.
Set SD_PROVIDER_RETURN_URL to the Return URL from Selldone > Your provider > Auth. The default in config/selldone.php is only a placeholder.
It depends on your connect mode. For example, Dropshipping needs notify shop, fetch categories, fetch products, create, confirm, get and cancel order.
Regenerate your API key and webhook sign key, replace all sample credentials and tokens, implement real login and token storage, and remove secrets from the front end.