These docs walk through the steps necessary to set up and launch both a test server and a production server for SEP-31 cross-border payments, but before you get any deeper, it's worth noting: you don't have to start from scratch. SDF offers some tools that make it easy to implement those servers, and test them from the sending anchor (SA) side.
Anchor Server Reference Implementation
To help with server setup, SDF created Polaris, an extendable django reusable-app that comes with fully-implemented endpoints, templates, and database models. It's built in Python using the community-supported Stellar Python SDK, and is compliant with the Stellar Ecosystem Protocols mentioned in the previous section.
TODO: REPLACE PNG
Polaris modularizes the parts of the codebase that interface with the Stellar network, and provides clear methods for developers to integrate their own customer registrations, banking connections, and KYC and transcation processing. That means you can focus on implementing the business- and country-related aspects of your product without having to spend much time defining how to connect the server to the Stellar Network.
If you choose to use Polaris, you can jumpstart your deployment, and connect local rails to Stellar in weeks instead of months.
Demo Client & Deployed Example
Once you have a server set up, SDF also maintains a Demo Wallet Project that makes it easy to test your implementation on both the testnet and the pubnet.
This allows you to run through your receiving anchor's flow by entering information to a fake wallet application like a real sending user would.
With the demo client, you can test your payment flows, and get information about the transactions that are created during those processes. It gives a clear step-by-step visual example of how the functionalities work along with insightful information about the requests, protocols, and possible validation messages. To start testing the deploys, simply update the settings of the Demo Client (click the gear button on the bottom right) to include your project's information.
Anchor Validation Suite
The Anchor Validation Suite is a set of tests that helps confirming if your anchor implementation is compliant with the latest specifications of the SEP-31 standard. This is a great resource for people that are getting started building an anchor and want to check what's still missing in their implementation, or for teams that have already finalized the anchor development and want an extra validation on the codebase. Also, the Anchor Validation Suite doesn't replace the necessity of having a professional security auditor reviewing the whole project.
TODO: REPLACE PNG
The Anchor Validation Suite codebase is available in an open-sourced Github Repository, where you can check in details exactly how all tests work. SDF also maintains a deployed version of the Validation Suite with a UI for running the tests without the need to setup your own infrastructure. In order to also test the interactive parts of SEP-24, you'll need to add test values to all the required interactive flow fields. The Github Repository Readme file has more information on how exactly those fields need to be added. Finally, you can also trigger the tests directly from a Continuous Integration tool (like CircleCI or Jenkins), in order to have continuous monitoring of your anchor infrastructure.