Skip to content

Commit 94a2523

Browse files
claude[bot]github-actions[bot]claudeEC2 Default Userpengying
authored
Add documentation for MWK, UGX, and XOF mobile money accounts (#245)
## Summary - Add external account creation examples for Malawi (MWK), Uganda (UGX), and West Africa (XOF) mobile money - Add phone number validation patterns for the new currencies in the best practices section - Syncs documentation with recent OpenAPI changes from commits a292f0b and f4d545d ## Context Recent OpenAPI schema changes added support for three new African mobile money currencies: - **MWK_ACCOUNT**: Malawi mobile money (+265 phone format) - **UGX_ACCOUNT**: Uganda mobile money (+256 phone format) - **XOF_ACCOUNT**: West African CFA franc mobile money (Senegal +221, Benin +229, Ivory Coast +225) The `mintlify/snippets/external-accounts.mdx` documentation was missing examples for these account types. ## Test plan - [ ] Verify the MDX renders correctly in Mintlify dev server - [ ] Confirm phone number regex patterns match OpenAPI schema definitions - [ ] Check that all new tabs appear in the external accounts documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: EC2 Default User <ec2-user@ip-192-168-240-144.us-west-2.compute.internal> Co-authored-by: Peng Ying <peng@lightspark.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
1 parent 031ddbb commit 94a2523

1 file changed

Lines changed: 118 additions & 0 deletions

File tree

mintlify/snippets/external-accounts.mdx

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,114 @@ curl -X POST 'https://api.lightspark.com/grid/2025-10-13/customers/external-acco
468468
</Note>
469469
</Tab>
470470

471+
<Tab title="Malawi">
472+
**MWK Mobile Money**
473+
474+
```bash cURL
475+
curl -X POST 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts' \
476+
-H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' \
477+
-H 'Content-Type: application/json' \
478+
-d '{
479+
"currency": "MWK",
480+
"platformAccountId": "mw_mobile_001",
481+
"accountInfo": {
482+
"accountType": "MWK_ACCOUNT",
483+
"phoneNumber": "+265991234567",
484+
"provider": "AIRTEL",
485+
"beneficiary": {
486+
"beneficiaryType": "INDIVIDUAL",
487+
"fullName": "Chimwemwe Banda",
488+
"birthDate": "1993-03-18",
489+
"nationality": "MW",
490+
"address": {
491+
"line1": "Kamuzu Procession Road",
492+
"city": "Lilongwe",
493+
"postalCode": "00100",
494+
"country": "MW"
495+
}
496+
}
497+
}
498+
}'
499+
```
500+
501+
<Note>
502+
Phone number must be in format `+265XXXXXXXXX` (9 digits after country code). Providers: `AIRTEL` or `TNM`.
503+
</Note>
504+
</Tab>
505+
506+
<Tab title="Uganda">
507+
**UGX Mobile Money**
508+
509+
```bash cURL
510+
curl -X POST 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts' \
511+
-H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' \
512+
-H 'Content-Type: application/json' \
513+
-d '{
514+
"currency": "UGX",
515+
"platformAccountId": "ug_mobile_001",
516+
"accountInfo": {
517+
"accountType": "UGX_ACCOUNT",
518+
"phoneNumber": "+256701234567",
519+
"provider": "MTN",
520+
"beneficiary": {
521+
"beneficiaryType": "INDIVIDUAL",
522+
"fullName": "Nakato Sarah",
523+
"birthDate": "1990-07-25",
524+
"nationality": "UG",
525+
"address": {
526+
"line1": "Kampala Road 45",
527+
"city": "Kampala",
528+
"postalCode": "00100",
529+
"country": "UG"
530+
}
531+
}
532+
}
533+
}'
534+
```
535+
536+
<Note>
537+
Phone number must be in format `+256XXXXXXXXX` (9 digits after country code). Providers: `MTN` or `AIRTEL`.
538+
</Note>
539+
</Tab>
540+
541+
<Tab title="West Africa">
542+
**XOF Mobile Money (Senegal, Benin, Ivory Coast)**
543+
544+
```bash cURL
545+
curl -X POST 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts' \
546+
-H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' \
547+
-H 'Content-Type: application/json' \
548+
-d '{
549+
"currency": "XOF",
550+
"platformAccountId": "xof_mobile_001",
551+
"accountInfo": {
552+
"accountType": "XOF_ACCOUNT",
553+
"phoneNumber": "+221781234567",
554+
"provider": "ORANGE",
555+
"beneficiary": {
556+
"beneficiaryType": "INDIVIDUAL",
557+
"fullName": "Mamadou Diallo",
558+
"birthDate": "1988-11-12",
559+
"nationality": "SN",
560+
"address": {
561+
"line1": "Avenue Cheikh Anta Diop",
562+
"city": "Dakar",
563+
"postalCode": "10000",
564+
"country": "SN"
565+
}
566+
}
567+
}
568+
}'
569+
```
570+
571+
<Note>
572+
Supported countries and phone formats:
573+
- Senegal (+221): `+221XXXXXXXXX` (9 digits after country code)
574+
- Ivory Coast (+225): `+225XXXXXXXXXX` (10 digits after country code)
575+
- Benin (+229): `+229XXXXXXXX` or `+229XXXXXXXXX` (8–9 digits after country code)
576+
</Note>
577+
</Tab>
578+
471579
<Tab title="Canada">
472580
**CAD Bank Transfer**
473581

@@ -710,6 +818,16 @@ if (!/^\+260\d{9}$/.test(zmwPhoneNumber)) {
710818
if (!/^\+250\d{9}$/.test(rwfPhoneNumber)) {
711819
throw new Error("Invalid Rwandan phone number");
712820
}
821+
if (!/^\+265\d{9}$/.test(mwkPhoneNumber)) {
822+
throw new Error("Invalid Malawian phone number");
823+
}
824+
if (!/^\+256\d{9}$/.test(ugxPhoneNumber)) {
825+
throw new Error("Invalid Ugandan phone number");
826+
}
827+
// West African (XOF): Senegal (+221), Ivory Coast (+225), Benin (+229)
828+
if (!/^\+(221\d{9}|225\d{10}|229\d{8,9})$/.test(xofPhoneNumber)) {
829+
throw new Error("Invalid West African phone number");
830+
}
713831
```
714832

715833
</Accordion>

0 commit comments

Comments
 (0)