# Payment concepts

Sitecore XC provides out-of-box support for collecting payments from gift cards, but does not directly support collecting and storing payment vehicles like credit cards. This allows Sitecore XC to contribute to a PCI compliant commerce solution without itself mediating sensitive financial information.

The Payment plugin supports the concept of federated payments, which leverages a third-party payment provider to collect payment information using an iFrame on the website. The solution receives and stores payment tokens and masked information, but not the full set of credit-card data. The reference sample provided with the product includes an integration with BrainTree for this functionality. The source code for this integration is included in the Commerce SDK.

BrainTree offers sandboxing support without requiring financial information, so you can easily set up and run the integration in a demo environment. You must set up a sandbox account with BrainTree to be able to demonstrate credit card collection.

You do not need to use BrainTree in a production Sitecore XC implementation. You can remove the BrainTree integration and replace it with your own custom integration, or an integration offered as a solution by a Sitecore partner.

The SXA Storefront Solution contains configuration for the BrainTree implementation. You should populate this section with your specific values provided by BrainTree after registering. For example, a sample configuration:

{
"\$type": "Plugin.Sample.Payments.Braintree.BraintreeClientPolicy, Plugin.Sample.Payments.Braintree",
"Environment": "sandbox",
"MerchantId": "[YourMerchantId]",
"PublicKey": "[YourPublicKey]",
"PrivateKey": "[YourPrivateKey]",
"ConnectTimeout": 120000
}