# Card and mobile money payments

> Take card payments with your own Stripe account and mobile money with your own MarzPay account, at the till and in your online store.

*Section: Integrations · Updated: 2026-10-19*

By the end you will know how to take card payments with your own Stripe account and mobile money with your own MarzPay account, at the till and in your online store.

> **Note:** This guide was written from ArmPOS's settings screen and code. It was **not run**: taking a real payment needs your own Stripe or MarzPay account, and the demo shop has none.

Open **[Settings › Payment Gateway](/app/settings/payment_gateway)**. It needs a role that may change payment settings. The money goes to your own accounts, not to ArmPOS.

![Settings › Payment Gateway: STRIPE\_KEY and STRIPE\_SECRET with Delete Stripe API keys and Submit, and below it Mobile money (MarzPay), Off, with "Not included in your plan. Upgrade".](https://armpos.online/storage/help/5ecbac3218-online-card-and-mobile-money-payments-1-settings.webp)
*Two cards: Stripe for cards, MarzPay for mobile money. Mobile money needs a plan that includes it.*

## Cards with Stripe

You need a Stripe account. From it, copy the publishable key and the secret key.

1. **Paste the publishable key into STRIPE\_KEY** and **the secret key into STRIPE\_SECRET.**
2. **Click Submit.** ArmPOS doesn't check the keys when you save: take a small card payment to test them.

- A box left empty keeps the key already saved: that is what its hint asks.
- **Delete Stripe API keys** then **Submit** removes both keys.

With both keys saved, a **Credit Card** payment at the POS is charged to the customer's card, and the online store offers **Pay with Stripe** at checkout.

> **Warning:** Without Stripe keys, a **Credit Card** payment at the POS is only recorded: nothing is charged. Use your card machine and record the payment, or set up Stripe.

## Mobile money with MarzPay

Mobile money needs a plan that includes **Mobile Money Payments**; otherwise the card says "Not included in your plan." with **Upgrade**. You also need a MarzPay account: copy its API key and API secret.

1. **Tick Enable.**
2. **Pick the Country.** Your shop's currency must be that country's, such as UGX for Uganda.
3. **Pick who pays the Processing fee:** **Shop pays**, or **Customer pays** with the percentage added to their amount.
4. **Paste the API key and the API secret,** and the **Webhook secret** if MarzPay gave you one.
5. **Click Test.** "Connected." means the keys work. Testing moves no money.
6. **Click Save settings.** The pill turns **On**.

Once it is on:

- A payment method called **Mobile Money** appears in every payment window.
- At the POS, a **Mobile Money** payment sends a prompt to the customer's phone; the customer approves it there. Amounts are whole numbers (cents only in US dollars).
- In the online store, customers can pick **Mobile Money** at checkout and get the same prompt.

If the pill reads **Needs attention**, the line under the fields says what is missing, for example a currency that doesn't match the country. **Remove saved keys** deletes the keys and switches mobile money off.

## What's next

See what customers can pay with in [Payment methods and currencies](/app/help/payment-methods-and-currencies).
