# Changelog / Releases

Platform features, API updates, SDK releases, and documentation improvements.

## Payment webhook failure guidance and callback source IPs

**Date:** 7 Oct 2026 | **Area:** Documentation

**Tags:** API Update, Improvement

The Payment Webhook reference now documents failed payment callbacks alongside successful payments, with callback source IPs and section navigation in one place.

### What changed

- Added the failed payment callback example with status 0, code P02, and data.txstatus 2, while retaining the successful P01 example.
- Documented the failure reason, nullable transactionid, zero-valued amount and value strings, and correlation using externalref.
- Clarified how to handle failed attempts without marking payments as paid, and how to validate callbacks and handle duplicate notifications.
- Moved the wallet and POS payment-link callback source IPv4 and IPv6 addresses from Authentication to Payment Webhook, with copy buttons and an Authentication link to the new location.
- Added On this page navigation for the overview, callback handling, fields, both examples, and callback source IPs.
- Updated generated AI documentation and Postman guidance. Callback examples use YOUR_CALLBACK_SECRET rather than a real secret.

### Related documentation

- [Payment Webhook](https://docs.moolre.com/api/payments/webhook)
- [Callback source IPs](https://docs.moolre.com/api/payments/webhook#callback-source-ips)

[Link to this entry](https://docs.moolre.com/changelog#payment-webhook-failed-callbacks)

---

## Bank account and Payment ID transaction documentation

**Date:** 6 Oct 2026 | **Area:** Documentation

**Tags:** New Feature, API Update

New reference pages explain how to list bank accounts and retrieve transactions for bank accounts and Payment IDs.

### What changed

- Added List Bank Accounts with a type 3 request to /open/transact/status.
- Added List Bank Account Transactions and List Payment ID Transactions with type 2 requests, externalref, and accountnumber.
- Documented X-API-USER and X-API-PUBKEY authentication, response examples, and transaction arrays.
- Included the new reference pages in the generated Markdown and Postman collection.

### Related documentation

- [List Bank Accounts](https://docs.moolre.com/api/payments/bank-accounts)
- [List Bank Account Transactions](https://docs.moolre.com/api/payments/bank-accounts/transactions)
- [List Payment ID Transactions](https://docs.moolre.com/api/payments/payment-id/transactions)

[Link to this entry](https://docs.moolre.com/changelog#bank-account-payment-id-reference)

---

## SMS delivery network guidance

**Date:** 6 Oct 2026 | **Area:** Documentation

**Tags:** API Update

The SMS reference now explains the optional delivery network, the TELECEL default, and the fallback for unapproved MTN requests.

### What changed

- Documented the optional network parameter for both Send SMS (POST) and Send SMS (GET) in Live mode.
- TELECEL is the default delivery network. Approved MTN requests use MTN; requests without MTN approval fall back to TELECEL.
- Hidden the network parameter in Sandbox mode and omitted it from sandbox requests and examples.
- Clarified that network selects the SMS delivery network, not the recipient’s mobile network.

### Related documentation

- [Send SMS (POST)](https://docs.moolre.com/api/sms/send)
- [Send SMS (GET)](https://docs.moolre.com/api/sms/send-get)

[Link to this entry](https://docs.moolre.com/changelog#sms-delivery-network-guidance)

---

## Wallet-Specific ID Verification

**Date:** 1 Oct 2026 | **Area:** Platform

**Tags:** New Feature, Improvement

Verify each wallet individually, reuse verified documents for wallets belonging to the same business, and share verification links with wallet owners.

### Overview

Moolre has updated its ID verification process to operate at the **wallet level** rather than the user-account level. Every newly created wallet now requires its own ID verification.

Shareable ID verification links allow users who create wallets on behalf of other individuals or businesses to send verification requests directly to the wallet owners.

For businesses creating multiple wallets, existing verified ID and KYC documents can be reused for new wallets, provided the new wallet belongs to the **same business**.

### Key updates

- **Wallet-specific verification** — ID verification is associated with individual wallets. Verification is required when a new wallet is created.
- **Reuse existing verification documents** — Existing verified ID and KYC documents can be reused for additional wallets belonging to the same business, where the existing verification information is applicable. Businesses do not need to repeat the full verification process in those cases.
- **Shareable verification links** — Generate a link and send it to the wallet owner to complete verification remotely. This supports software providers, businesses, and organizations creating wallets for clients or customers.
- **Seven-day validity** — Verification links are valid for **7 days**. The wallet owner must complete verification before the link expires.

### How to complete ID verification

Wallet verification can be accessed from two locations within the Moolre platform:

- **Profile → Documents** — Open the Documents page from the profile dropdown to access and complete the required ID verification.
- **Wallet Admin → Wallet Verification** — Open Wallet Verification in the admin panel of the wallet requiring verification. Initiate verification directly or generate a link to share with the wallet owner.

### How it works: a new wallet

1. Create a new wallet on Moolre.
2. Open **Documents** from the profile dropdown, or **Wallet Verification** in the admin panel of the specific wallet.
3. Check the wallet's verification status.
4. Reuse existing verified documents if they are available and applicable to the same business.
5. If new verification is required, initiate the ID verification process.
6. Complete verification directly, or generate and share a verification link with the wallet owner.

### How it works: remote verification

1. Open **Wallet Verification** for the specific wallet.
2. Generate the ID verification link.
3. Share the link with the wallet owner.
4. The wallet owner opens the link and completes verification.
5. The verification status is updated once the process is completed.

**Remember:** verification links expire after **7 days**.

### Example use case

A software provider creates Moolre wallets on behalf of several businesses. For a business that already has verified ID and KYC documents, those documents can be reused for additional wallets belonging to that same business.

If the wallet owner needs new verification, the provider generates a verification link and sends it to the owner. The owner completes verification remotely without needing to be physically present with the provider.

### Benefits

- **Wallet-level verification** — Each wallet has its own verification status.
- **Reduced repetition** — Reuse existing verified documents for additional wallets belonging to the same business.
- **Remote verification** — Wallet owners can complete verification from anywhere using a shared link.
- **Simpler onboarding for software providers** — Create wallets for clients without requiring owners to be physically present.
- **Flexible access** — Start verification from the profile Documents page or the wallet-specific Wallet Verification section.

### Availability

| Item | Details |
| --- | --- |
| Feature | Wallet-Specific ID Verification |
| Verification Provider | Veriff |
| Verification Level | Wallet |
| Verification Link Validity | 7 days |
| Existing KYC Documents | Can be reused for new wallets belonging to the same business |
| Remote Verification | Supported |
| Verification Access | Profile → Documents or Wallet Admin → Wallet Verification |
| Platform | [app.moolre.com](https://app.moolre.com) |

### Important notes

- Each wallet must have an appropriate verification status before it can be fully utilized.
- Existing ID and KYC documents can only be reused where the new wallet belongs to the same business.
- Verification links expire after **7 days**.
- Users creating wallets on behalf of others can share the verification link with the actual wallet owner to complete verification remotely.

### Related documentation

- [Account wallets](https://docs.moolre.com/guides/account-wallets)
- [Authentication](https://docs.moolre.com/authentication)

[Link to this entry](https://docs.moolre.com/changelog#wallet-specific-id-verification)

---

## Wallet-Specific API Key Generation

**Date:** 1 Oct 2026 | **Area:** Platform

**Tags:** New Feature, API Update

Connect each wallet to its own API Service and generate wallet-specific credentials so integrations operate on the intended wallet.

### Overview

Moolre has updated API key management to operate at the **wallet level**. API keys are associated with specific wallets rather than being generally available across a user account.

To use Moolre APIs with a wallet, first create an **API Service** for that wallet and generate the credentials associated with the service.

This provides greater control over which wallets connect to external applications and helps ensure API transactions are processed against the intended wallet.

### Key updates

- **Wallet-specific API keys** — A key generated for one wallet cannot access or process transactions for another wallet. Each wallet used with Moolre APIs needs its own API Service and credentials.
- **An API Service for each wallet** — Create a service for the specific wallet before integrating. The service connects the wallet to the application or system using Moolre APIs.
- **Independent integrations** — If you manage multiple wallets, create an API Service for each wallet. Each integration operates independently and is linked to its respective wallet.

For example: Wallet A → API Service A → API Key A; Wallet B → API Service B → API Key B; Wallet C → API Service C → API Key C.

### How it works

1. **Create an API Service:** create a service and link it to the specific wallet.
2. **Generate API credentials:** generate the API key and other required credentials for that service.
3. **Integrate:** use the credentials generated for that wallet when integrating Moolre APIs into your application.
4. **Repeat for other wallets:** create a separate API Service for each additional wallet and generate its corresponding credentials.

### Example use case

A business has three Moolre wallets: **Main Wallet**, **Operations Wallet**, and **Collections Wallet**. It wants to integrate Moolre APIs with all three.

Instead of using one API key across the account, the business creates a separate API Service for each wallet:

| Wallet | API Service | API Credentials |
| --- | --- | --- |
| Main Wallet | Main Wallet API Service | Credentials for Main Wallet |
| Operations Wallet | Operations API Service | Credentials for Operations Wallet |
| Collections Wallet | Collections API Service | Credentials for Collections Wallet |

Each API integration is directly connected to the wallet it is intended to operate on.

### Benefits

- **Wallet-level control** — API access is directly associated with a specific wallet.
- **Improved security** — Credentials for one wallet cannot be used as the API credentials for another wallet.
- **Better separation** — Businesses managing multiple wallets can maintain independent integrations.
- **Clearer transaction management** — Associate API activity with the wallet connected to the API Service.
- **Flexible integrations** — Connect different wallets to different applications or systems.

### Availability

| Item | Details |
| --- | --- |
| Feature | Wallet-Specific API Key Generation |
| API Access Level | Wallet |
| API Service | Required for each wallet |
| API Credentials | Generated per wallet |
| Multiple Wallets | Each wallet requires its own API Service |
| Platform | [app.moolre.com](https://app.moolre.com) |

### Important notes

- Create an API Service for each wallet that will use Moolre APIs.
- Use credentials generated for a wallet only for that wallet's integration.
- Creating an API Service for one wallet does not automatically enable API access for other wallets.
- To integrate another wallet, create a separate API Service for that wallet.
- **Keep API credentials secure.** Do not expose them in publicly accessible applications or repositories.

### Related documentation

- [Authentication](https://docs.moolre.com/authentication)
- [Account wallets](https://docs.moolre.com/guides/account-wallets)

[Link to this entry](https://docs.moolre.com/changelog#wallet-specific-api-key-generation)

---

## SDK documentation refinements

**Date:** 17 Aug 2026 | **Area:** Documentation

**Tags:** Improvement

SDK pages have clearer integration guidance, consistent headers, and links to the relevant packages and repositories.

### What changed

- Expanded React Native setup guidance and native-device testing information.
- Clarified the PHP SDK’s hosted-checkout flow and server-side verification guidance.
- Aligned SDK page typography, feature summaries, and package/repository links.
- Added community-package visibility on the Plugins page.

### Package versions

This entry covers documentation improvements, not a new SDK package release.

### Related documentation

- [Plugins](https://docs.moolre.com/plugins)
- [React Native](https://docs.moolre.com/plugins/react-native)
- [Moolre PHP SDK](https://docs.moolre.com/plugins/php)

[Link to this entry](https://docs.moolre.com/changelog#sdk-documentation-refinements)
