Neero Payment Gateway Neero API documentation for Gateway ## Sections • [Neero Gateway](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents.md): Transaction Intents are at the core of every transaction in the payment gateway. It enables users to access details about transactions and manage them effectively within the system. With this functionality, users can streamline the process of handling payment requests and track the status of transactions seamlessly. For a transaction intent to be completed, it must have payment method source and a payment method destination. Important Terminology Transaction type It determines the 'direction' in which the transaction takes place. Title Description Transaction type Description CASHOUT Means the transaction intent is removing funds from a balance in a store in your merchant account. This balance must be specified as the source of the transaction. CASHIN Means the transaction intent is adding funds into a balance in a store in your merchant account. This balance must be specified as the destination of the transaction. EXTERNAL is a type we use for purposes peculiar to NEERO. We may allow some merchants to use this type in the future Payment type This determines the type of payment you want to achieve through the transaction. The ones merchants are allowed to used are: Title Description Title Description Title Payment type Description TRANSFER_TO_NEERO_PERSON To transfer funds to a Neero Account ORANGE_MONEY_TRANSFER To transfer funds to an Orange Money Account MTN_MONEY_TRANSFER To transfer funds to an MTN MoMo Account TRANSFER_TO_NEERO_MERCHANT To transfer funds to a Neero Merchant Account MERCHANT_COLLECTION To collect payments into your Merchant Account. Transaction Intent Statuses Title Description Status Description INITIALIZED Intent has been initialized. REQUIRES_PAYMENT_METHOD Intent needs to be updated with a payment method either as source or destination WAITING_FOR_CONFIRMATION Intent Pending confirmation REQUIRES_ACTION An action needs to be completed for the payment to continue. This action will be found in the nextAction property of the transaction intent. PENDING The intent is being processed. CANCELLED Intent has been manually cancelled by the user or via API. EXPIRED Intent has expired. FAILED The intent couldn't be processed and failed. SUCCESSFUL Intent successfully processed. • [Neero offers](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents/neero-offers-2.md): Core Offerings: Neero’s Business Solutions Financial Management Tools : Card Management: Easily create and manage Visa and Mastercard bank cards for employees and customers. Salary and Invoice Payments: Automate salary payments and invoice generation, simplifying payroll and billing processes. Money Transfers: Facilitate quick and secure money transfers within and across borders. Team Budget Management: Monitor and control team budgets with real-time tracking and reporting. Neero Gateway : International and Local Payment Methods: Accept payments from various channels, ensuring flexibility and convenience for your customers. Neero flow : Ideal for businesses that manage payments on behalf of third parties, such as marketplaces, on-demand service platforms, and crowdfunding sites. It simplifies the complexity of multi-party payments by enabling quick user onboarding, automated fund distribution, and robust compliance and security management. Instant Transfers: Diaspora companies can transfer funds instantly to recipients in Africa, enhancing operational efficiency. Security Features: Tools like dispute resolution and Katika ensure that every transaction is protected, fostering a safe environment for both businesses and consumers. Security and Trust : Building Confidence in Neero Transaction Security : Dispute Resolution : Our integrated dispute resolution system ensures that all parties have recourse in the event of transaction issues, maintaining trust. Neero Radar : This security feature monitors transactions in real-time, flagging suspicious activity to prevent fraud and unauthorized access. Compliance and Regulation : Regulatory Adherence: Neero complies with local and international financial regulations, ensuring that your business operations are always within legal frameworks. Data Protection: We prioritize data security, employing advanced encryption and storage techniques to safeguard sensitive information. Why Choose Neero Gateway ? Ease of Integration : Our API is designed for quick and seamless integration, allowing businesses to start accepting payments without significant delays. Customer Support : Neero offers 24/7 support to assist with any technical issues or queries, ensuring a smooth user experience. Incentives for Implementation : Exclusive Offers: Take advantage of discounts or bonuses when you implement Neero Gateway within the next few months. Referral Program: Earn rewards by referring other businesses to Neero, fostering a network of trusted partners. Scalability : Growth with Neero: As your business expands, Neero Gateway scales with you, offering advanced features and higher transaction limits to meet your growing needs. Continuous Improvement: Feature Updates : Stay ahead with regular updates that introduce new features and enhancements, keeping your business competitive. Feedback Mechanism : We value your input—share your experiences and suggestions to help us refine and improve our services. Community and Networking: User Community: Join our community of Neero users to exchange best practices, success stories, and innovative ideas, creating a collaborative environment for growth. • [Getting Started](https://app.theneo.io/neero/neero-payment-gateway/getting-started.md): The Neero API is organized around REST . Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. You can use the Neero API in test mode, which doesn’t affect your live data or interact with the banking networks. The API key you use to authenticate the request determines whether the request is live mode or test mode. The Neero API doesn’t support bulk updates. You can work on only one object per request. • [Authentication](https://app.theneo.io/neero/neero-payment-gateway/getting-started/authentication.md): All API calls need to be authenticated using a secret key. You can get this secret key from your merchant dashboard or contact us to acquire one. We use Basic Authentication to pass the Secret Key. This key is passed in the user field and the password field is left empty. You can view and manage the keys in the Neero Dashboard. Test mode and live mode keys are distinguished by their prefixes. Security Reminder : Your API keys are powerful, so keep them safe. Don’t share them in public places like GitHub or in client-side code. All API requests must be made over HTTPS. Requests made over plain HTTP or without proper authentication will fail. Below is an example request on how we to use the secret key in a request. Plain text curl --location 'https://api.dev.neero.io/payment-gateway/api/v1/payment-methods' -u 'test_secret_key' --header 'Content-Type: application/json' --data-raw '{ "type":"PAYPAL", "paypalDetails":{ "email":"florianlowe@gmail.com", "countryIso":"FR" }}' • [Request and Responses Payloads](https://app.theneo.io/neero/neero-payment-gateway/getting-started/request-and-responses-payloads.md): The payloads consumed and produced by the API are strictly JSON encoded data or HTTP query parameters. • [Errors](https://app.theneo.io/neero/neero-payment-gateway/getting-started/errors.md): Neero uses standard HTTP response codes to indicate whether an API request was successful or not. Here's how they generally work: 2xx codes : These indicate that the request was successful. 4xx codes : These indicate an error due to the information provided (like a missing parameter or a failed charge). 5xx codes : These indicate a server error on Neero’s end (which are rare). Some 4xx errors, like a declined card, include an error code that provides a brief explanation of what went wrong. This can help you handle these errors programmatically. Http Status Codes Title Description Title 200 OK Everything worked as expected. 400 Bad Request The request was unacceptable, often due to missing a required parameter. 401 Unauthorized No valid API key provided. 402 Request Failed The parameters were valid but the request failed. 403 Forbidden The API key doesn’t have permissions to perform the request. 404 Not Found The requested resource doesn’t exist. 409 Conflict The request conflicts with another request (perhaps due to using the same idempotent key). 429 Too Many R equests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. 500, 502 , 503, 504 Server Errors Something went wrong on Neero’s end. (These are rare.) Response Body Error Code These error codes give more information the error and what has caused it. They have 2 components: A prefix and a number. The prefix identifies from which resource the error originates e.g From a Transaction Intent, Session etc. The number uniquely identifies the error in that resource. For example, below is a response body of Payment Type Not Found error that can be triggered from a Transaction Intent Resource. Plain text { "code": "TI-0001", "title": "Payment type not found", "detail": null, "fieldErrors": null } • [Webhook](https://app.theneo.io/neero/neero-payment-gateway/webhook.md): What's a webhook? A webhook is a way for one application to send real-time information to another application. Think of it like a phone call where one app tells another app, "Hey, something just happened, and here’s the details." What Does a Webhook Do? Real-Time Updates: When something significant happens in an application (like a payment being processed or a new user signing up), a webhook sends an instant update to another system. This means you don’t have to wait for the other system to check for updates; it gets them immediately. Automation: Webhooks can trigger automatic actions. For example, if a customer makes a purchase, a webhook can automatically update the inventory and send a confirmation email. Communication: It’s a way for different systems or apps to communicate with each other without needing constant manual intervention. In short, webhooks help keep different systems in sync and allow them to respond quickly to changes. Why use webhooks ? When integrating with Neero, you might want your application to receive real-time events from your Neero account so your backend systems can react appropriately. Insert line aboveInsert line belowDelete To set this up, you need to register webhook endpoints. Once registered, Neero will send real-time event data to your application's webhook endpoint whenever events occur in your Neero account. Neero uses HTTPS to deliver these events as JSON payloads containing an Event object. Insert line aboveInsert line belowDelete Receiving webhook events is especially useful for tracking asynchronous events, such as when a customer's bank confirms a payment, a charge is disputed, a recurring payment is successful, or subscription payments are collected. • [The webhook endpoint object](https://app.theneo.io/neero/neero-payment-gateway/webhook/the-webhook-endpoint-object-2.md): You can set a url in your merchant dashboard in order to receive various webhook events. Structure All webhook events have the same basic stucture. Below is an example Webhook Verification Webhooks are sent over the internet. Therefore, you need a mechanism to make sure that the webhooks you receive actually come from us. First you need to retrieve your API's Webhook Secret. Similar to the secret key, you can get this from your merchant dashboard or contact us. Here is a sample Javascript code on how to verify a webhook request Plain text const crypto = require('crypto'); function checkSignature(request) { const timeStamp = request.headers['X-TIMESTAMP']; const webhookSecret = 'get this from your server's properties'; // Replace with actual secret // Assuming 'request.body()' returns the body content as a string const bodyContent = request.body; // Replace with actual way to get request body const stringToSign = timeStamp + bodyContent; // Calculate HMAC using SHA-512 algorithm const hmac = crypto.createHmac('sha512', webhookSecret); hmac.update(stringToSign); const calculatedSignature = hmac.digest('hex'); const signatureFromRequest = request.headers['X-SIGNATURE']; return calculatedSignature === signatureFromRequest; } • [Payment Methods](https://app.theneo.io/neero/neero-payment-gateway/payment-methods.md): PaymentMethod objects represent your customer’s payment options, like credit cards or digital wallets. You can use these objects with PaymentIntents to process payments, or you can save them to Customer objects to keep the payment details for future transactions. Every Transaction always has 2 parties a source and a destination . A payment method is an entity that represents any of these parties. Supported Payment Method Types. Title Description Type Description MOBILE_MONEY Represents Mobile Money Payment Method NEERO_MERCHANT Represents a Neero Merchant PAYPAL Represents a Paypal Payment Method NEERO_PERSON Represents a Neero Person Constraint to make transaction with a payment method CASHIN When you do a cash-in the payment amount need to respect : Min amount, Max amount, and denomination constraint. If one of these constraints not respected your payment will fail automatically. Title Description Title Description Title Description Paymentmethod Transaction Type Provider Min amount Max amount Denomination (Amount to be a multiple of) MOBILE_MONEYMOBILE_MONEY MERCHANT_COLLECTION ORANGE_MONEY_TRANSFER 500 XAF 500 000 XAF 1 MOBILE_MONEYMOBILE_MONEY MERCHANT_COLLECTION MTN_MONEY_TRANSFER 500 XAF 500 000 XAF 1 NEERO_PERSON MERCHANT_COLLECTION - No need to add provider 1 XAF 5 000 000 XAF 1 CASHOUT When you do a cash-out the transfert amount need to respect : Min amount, Max amount, and denomination constraints. Insert line aboveInsert line belowDelete If one of these constraints not respected your payment will fail automatically. Title Description Title Description Title Paymentmethod Transaction Type Min amount Max amount Denomination (Amount to be a multiple of) MOBILE_MONEY ORANGE_MONEY_TRANSFER 500 XAF 500 000 XAF 50 MTN_MONEY_TRANSFER 500 XAF 500 000 XAF 50 NEERO_PERSON TRANSFER_TO_NEERO_PERSON 1 XAF 5 000 000 1 Additional Explanation with Examples : PaymentMethod Objects: Think of this as storing your customer's credit card information. For example, if a customer uses a Visa card, you create a PaymentMethod object for that card. TransactionIntents: This is like preparing to charge the customer. For instance, if the customer buys a product, you create a PaymentIntent to process the payment using the PaymentMethod (the Visa card) they provided. Customer Objects: If your customer wants to save their Visa card for future purchases, you can store the PaymentMethod in a Customer object. Next time they buy something, they don’t need to re-enter their card details—you just use the stored PaymentMethod. Example Scenario: Step 1 : Customer Checkout: A customer uses a Visa card or Neero Wallet to buy a product. Step 2 : Create PaymentMethod: You create a PaymentMethod object to represent the Visa card or the Neero wallet. step 3 : Process Payment: You create a TransactionIntent using the PaymentMethod to charge the Visa card or the Neero wallet. Step 4 : Save for Future Use: If the customer wants to save their card for future purchases, you store the PaymentMethod in a Customer object in your system. It's by this way, we manage payments securely and make future transactions quicker for our customers. Customer action ​​Some payment methods require your customer to take additional steps to complete the payment. The PaymentIntent object’s next_action parameter specifies the type of customer action. Some common actions that customers need to perform are: ​​Redirect to their bank’s online service to authenticate and approve the payment. Verify ownership of their account by providing a one-time code that you post to the Neero API (for example, microdeposits). Push funds (for example, in the case for bank transfers) through their bank’s online service. Not all payment methods require additional customer actions. For example, card payments (excluding 3D Secure) require no additional authentication beyond collecting card details. • [Create Payment Method](https://app.theneo.io/neero/neero-payment-gateway/payment-methods/create-payment-method.md): Endpoint to create a Payment Method in the system. • [List Payment Methods](https://app.theneo.io/neero/neero-payment-gateway/payment-methods/list-payment-methods.md): Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead. • [Find Payment Method By Id](https://app.theneo.io/neero/neero-payment-gateway/payment-methods/find-payment-method-by-id.md) • [Resolve Payment Method Details](https://app.theneo.io/neero/neero-payment-gateway/payment-methods/resolve-payment-method-details-1.md): Resolve the details of Payment Method from Provider • [Get balance By Payment Method Id](https://app.theneo.io/neero/neero-payment-gateway/balances/get-balance-by-payment-method-id.md): To be used only for payment methods of type Neero Merchant. Any other payment method type will throw an error • [Transaction Intents](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1.md): Transaction Intents are at the core of every transaction in the payment gateway. It enables users to access details about transactions and manage them effectively within the system. With this functionality, users can streamline the process of handling payment requests and track the status of transactions seamlessly. For a transaction intent to be completed, it must have payment method source and a payment method destination. Important Terminology Transaction type It determines the 'direction' in which the transaction takes place. Title Description Transaction type Description CASHOUT Means the transaction intent is removing funds from a balance in a store in your merchant account. This balance must be specified as the source of the transaction. CASHIN Means the transaction intent is adding funds into a balance in a store in your merchant account. This balance must be specified as the destination of the transaction. EXTERNAL is a type we use for purposes peculiar to NEERO. We may allow some merchants to use this type in the future Payment type This determines the type of payment you want to achieve through the transaction. The ones merchants are allowed to used are: Title Description Title Payment type Description TRANSFER_TO_NEERO_PERSON To transfer funds to a Neero Account ORANGE_MONEY_TRANSFER To transfer funds to an Orange Money Account MTN_MONEY_TRANSFER To transfer funds to an MTN MoMo Account TRANSFER_TO_NEERO_MERCHANT To transfer funds to a Neero Merchant Account MERCHANT_COLLECTION To collect payments into your Merchant Account. Transaction Intent Statuses Title Description Status Description INITIALIZED Intent has been initialized. REQUIRES_PAYMENT_METHOD Intent needs to be updated with a payment method either as source or destination WAITING_FOR_CONFIRMATION Intent Pending confirmation REQUIRES_ACTION An action needs to be completed for the payment to continue. This action will be found in the nextAction property of the transaction intent. PENDING The intent is being processed. CANCELLED Intent has been manually cancelled by the user or via API. EXPIRED Intent has expired. FAILED The intent couldn't be processed and failed. SUCCESSFUL Intent successfully processed. • [Create Cash In Payment Intent](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1/create-cash-in-payment-intent.md): Create a transaction in which the destination is a Merchant Account you own. • [Create Cash Out Payment Intent](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1/create-cash-out-payment-intent.md): Create a transaction in which the source is your Merchant Account and the destination can be a wallet, bank account, credit card, …. Eg : Orange Money transfert, bank transfer, card transfert, Western Union transfer, … • [List Transaction Intents](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1/list-transaction-intents.md): Get Transaction Intents linked to your account. They are ordered from the most recent to the oldest. • [Update Transaction Intent](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1/update-transaction-intent.md): Only Transactions with statuses: INITIALIZED,REQUIRES_PAYMENT_METHOD,WAITING_FOR_CONFIRMATION can be updated. Only the set properties will be updated. • [Confirm Transaction Intent](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1/confirm-transaction-intent.md): If the status of the transaction is WAITING_FOR_CONFIRMATION, this will start the transaction process. • [Cancel Transaction Intent](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1/cancel-transaction-intent.md): Only Transactions with statuses: INITIALIZED,REQUIRES_PAYMENT_METHOD,WAITING_FOR_CONFIRMATION can be cancelled. • [Find Transaction Intent By Id](https://app.theneo.io/neero/neero-payment-gateway/transaction-intents-1/find-transaction-intent-by-id.md) • [Transaction Intent Session](https://app.theneo.io/neero/neero-payment-gateway/transaction-intent-session.md): A payment session represents your customer’s session as they pay for one-time purchases or subscriptions through Checkout or payment links. We recommend creating a new session each time your customer attempts to pay. Once the payment is successful, the payment session will contain a reference to the customer, as well as the successful payment intent or an active subscription. You can create a payment session on your server(website or app) and redirect the user to its URL to begin the payment process. • [Create Session](https://app.theneo.io/neero/neero-payment-gateway/transaction-intent-session/create-session.md) • [Guides](https://app.theneo.io/neero/neero-payment-gateway/guides.md): In the following pages, we will share with you how to carry out the most common actions through the gateway. • [Testing Transactions](https://app.theneo.io/neero/neero-payment-gateway/guides/testing-transactions.md): Below is a list of payment method configurations you can use to test transactions. How to use this table Use the Payment method payload to create a payment method in your environment. You will use this payment method either as the source or destination depending on the transaction type and payment type you wish to test. Transaction Type indicates whether this config is to be used for cash in or cash out Payment type represents the payment type with which this test payment method can be used to test the given scenario. Expected Transaction Status represents the status that this transaction will have at its end. Example Using the first row of the table. Create a payment method with the given payload and get its id. Trigger a cashin transaction with the created payment method as source, and payment type MERCHANT_COLLECTION. The status at the end of the transaction will be SUCCESSFUL. Title Description Payment Method Payload Transaction Type Payment Type Expected Transaction Status { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237651111111", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } CASH IN MERCHANT_COLLECTION SUCCESSFUL { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237691111111", "countryIso":"CM", "mobileMoneyProvider":"ORANGE_MONEY" } } CASH IN MERCHANT_COLLECTION SUCCESSFUL { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237652222222", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } CASH IN MERCHANT_COLLECTION FAILED { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237692222222", "countryIso":"CM", "mobileMoneyProvider":"ORANGE_MONEY" } } CASH IN MERCHANT_COLLECTION FAILED { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237653333333", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } CASH IN MERCHANT_COLLECTION PENDING { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237693333333", "countryIso":"CM", "mobileMoneyProvider":"ORANGE_MONEY" } } CASH IN MERCHANT_COLLECTION PENDING { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237651111111", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } CASH OUT MTN_MONEY_TRANSFER SUCCESSFUL { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237691111111", "countryIso":"CM", "mobileMoneyProvider":"ORANGE_MONEY" } } CASH OUT ORANGE_MONEY_TRANSFER SUCCESSFUL { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237652222222", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } CASH OUT MTN_MONEY_TRANSFER FAILED { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237692222222", "countryIso":"CM", "mobileMoneyProvider":"ORANGE_MONEY" } } CASH OUT ORANGE_MONEY_TRANSFER FAILED { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237653333333", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } CASH OUT MTN_MONEY_TRANSFER PENDING { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237693333333", "countryIso":"CM", "mobileMoneyProvider":"ORANGE_MONEY" } } CASH OUT ORANGE_MONEY_TRANSFER PENDING • [Collecting a Payment](https://app.theneo.io/neero/neero-payment-gateway/guides/collecting-a-payment.md): As a merchant, you may want to collect payments from your platform. Process Step 1: Create Destination Payment Method Create A payment method for your merchant balance account. Select... { "type":"NEERO_MERCHANT", "neeroMerchantDetails":{ "merchantKey":"mk_KrBiF6VwsDqJfo6g7UEs4QeVUSg0hAClO7u72NXCz8v8BJ8kWS", "storeId":"c944316d-df88-4a88-a1b5-524ac3108103", "balanceId":"1e940618-320d-4329-aab8-c210c34fc64e", "operatorId":26 } } Step 2: Start Transaction Scenario 1: Source Payment Method Details Present. 1.1 Create the payment method with details you have. In this example, we will assume mobile money. Select... { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237678877898", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } 1.2 Create a Transaction Intent with the following properties to start the transaction. Select... { "amount": 10000, "currencyCode": "XAF", "paymentType": "MERCHANT_COLLECTION", "sourcePaymentMethodId": "66b4aba3b7095d48dde4ed42", "destinationPaymentMethodId": "667937ab9164f076b61180f8", "confirm": true, "collectCustomerDetails": true } Scenario 2: Source Payment Method Details Absent. 2.1 Create a Transaction Intent with the following properties. As you can see the source payment method is omitted. Select... { "amount": 10000, "currencyCode": "XAF", "paymentType": "MERCHANT_COLLECTION", "destinationPaymentMethodId": "667937ab9164f076b61180f8", "confirm": false, "collectCustomerDetails": true } 2.2 Create a Session Request. Select... { "transactionIntentId":"66746e091151f216db801e34" } Response Select... { "createdAt": "2024-08-09T09:18:10.713054288", "updatedAt": "2024-08-09T09:18:10.713310066", "id": "66b5ded2a4968f3953455ca7", "metadata": {}, "operatorDetails": { "operatorId": 26, "merchantKey": "mk_KrBiF6VwsDqJfo6g7UEs4QeVUSg0hAClO7u72NXCz8v8BJ8kWS" }, "expirationDateTime": "2024-08-09T09:48:10.713036756", "transactionIntentId": "66b5dec3a4968f3953455c98", "paymentLink": "https://neero-payment-gateway.web.app/payments?sessionId=66b5ded2a4968f3953455ca7", "canUpdateSource": true } Share the payment link with your user. The transaction will start after the user enters the payment details and confirms them. Step 3: Listen to Webhooks. Here is the body of the webhook you will receive at the end of the transaction successful or not. Select... { "_id": "66b5decea4968f3953455c9f", "createdAt": "2024-08-09T09:18:06.005Z", "data": { "object": { "transactionIntentId": "66b5dec3a4968f3953455c98", "newStatus": "SUCCESS", "apiOperatorDetails": { "operatorId": 26, "merchantKey": "mk_KrBiF6VwsDqJfo6g7UEs4QeVUSg0hAClO7u72NXCz8v8BJ8kWS" }, } }, "metadata": { }, "operatorDetails": { "operatorId": 26, "merchantKey": "mk_KrBiF6VwsDqJfo6g7UEs4QeVUSg0hAClO7u72NXCz8v8BJ8kWS" }, "type": "transactionIntent.statusUpdated", "updatedAt": “2024-08-09T09:18:06.451Z”, "webhookStatusUpdates": [ { "webhookUrl": "https://webhook-test.com/2184a8f10c8d404a2f2c2f5b7eb8c26c", "status": "SUCCESS", "createdAt": “2024-08-09T09:18:06.450Z” } ] } Make sure you read the section on how to verify Webhooks to make sure the webhooks you process actually come from us. An additional check could be to fetch the transaction by id and check the transactions inside. • [Sending funds.](https://app.theneo.io/neero/neero-payment-gateway/guides/sending-funds.md): Process Step 1: Create Source Payment Method. Create A payment method for your merchant balance account. Select... { "type":"NEERO_MERCHANT", "neeroMerchantDetails":{ "merchantKey":"mk_KrBiF6VwsDqJfo6g7UEs4QeVUSg0hAClO7u72NXCz8v8BJ8kWS", "storeId":"c944316d-df88-4a88-a1b5-524ac3108103", "balanceId":"1e940618-320d-4329-aab8-c210c34fc64e", "operatorId":26 } } Step 2: Start Transaction Create the destination payment method with details you have. In this example, we will assume mobile money. Select... { "type":"MOBILE_MONEY", "mobileMoneyDetails":{ "phoneNumber":"+237678877898", "countryIso":"CM", "mobileMoneyProvider":"MTN_MONEY" } } Create a Transaction Intent with the following properties to start the transaction. Select... { "amount": 10000, "currencyCode": "XAF", "paymentType": "MTN_MONEY_TRANSFER", "sourcePaymentMethodId": "66b4aba3b7095d48dde4ed42", "destinationPaymentMethodId": "667937ab9164f076b61180f8", "confirm": true, "collectCustomerDetails": true } We don't yet support sessions for Sending Funds. Step 3: Listen to Webhooks. Make sure you read the section on how to verify Webhooks to make sure the webhooks you process actually come from us. Here is the body of the webhook you will receive at the end of the transaction successful or not. Select... { "_id": "66b5decea4968f3953455c9f", "createdAt": "2024-08-09T09:18:06.005Z", "data": { "object": { "transactionIntentId": "66b5dec3a4968f3953455c98", "newStatus": "SUCCESS", "apiOperatorDetails": { "operatorId": 26, "merchantKey": "mk_KrBiF6VwsDqJfo6g7UEs4QeVUSg0hAClO7u72NXCz8v8BJ8kWS" }, } }, "metadata": { }, "operatorDetails": { "operatorId": 26, "merchantKey": "mk_KrBiF6VwsDqJfo6g7UEs4QeVUSg0hAClO7u72NXCz8v8BJ8kWS" }, "type": "transactionIntent.statusUpdated", "updatedAt": “2024-08-09T09:18:06.451Z”, "webhookStatusUpdates": [ { "webhookUrl": "https://webhook-test.com/2184a8f10c8d404a2f2c2f5b7eb8c26c", "status": "SUCCESS", "createdAt": “2024-08-09T09:18:06.450Z” } ] } An additional check could be to fetch the transaction by id and check the transactions inside. • [Neero flow](https://app.theneo.io/neero/neero-payment-gateway/neero-flow.md): What is Neero Flow? Neero Flow is a comprehensive solution designed to facilitate payments and financial operations for platforms and marketplaces. It allows businesses to easily onboard and manage sellers, service providers, or other third-party participants while handling complex payment flows, including payouts, commissions, and fees. What Problems Does Neero Flow Solve? Neero Flow addresses several key challenges that platforms and marketplaces often face: Complex Payment Distribution: In a platform or marketplace, payments often need to be split among multiple parties. Neero Flow automates the process of distributing payments to different accounts, whether it’s paying out to sellers, splitting revenue with service providers, or managing commissions. Global Payments and Compliance: Managing payments across different countries and regions can be a legal and logistical nightmare. Neero Flow handles the complexities of international payments, including currency conversion, tax reporting, and compliance with local regulations, so businesses can operate globally without having to build out complex financial infrastructure. Onboarding and Verification: For platforms that need to onboard a variety of users—such as freelancers, sellers, or businesses—Neero Flow provides tools to easily verify identities, manage KYC (Know Your Customer) requirements, and ensure compliance with financial regulations. Customizable Payment Flows: Platforms often need to customize how and when payments are made to their users. Neero Flow offers flexible payment routing, allowing businesses to decide how funds are held, transferred, and paid out, based on their specific needs. When Can You Use Neero Flow? Neero Flow is ideal for any platform or marketplace that needs to manage payments between multiple parties. Here are some common use cases: Online Marketplaces: Platforms like e-commerce websites, where sellers list their products and customers purchase them, can use Neero Flow to handle payments, split proceeds, and manage payouts to sellers. Service Platforms: Businesses that connect service providers with customers, such as ride-sharing apps or freelance platforms, can use Neero Flow to manage payments, ensuring that drivers, freelancers, or other service providers are paid accurately and on time. Crowdfunding Platforms: Crowdfunding sites that collect money from backers and distribute it to project creators can use Neero Flow to manage the collection, holding, and distribution of funds. Subscription-Based Marketplaces: Platforms that manage subscriptions on behalf of creators or service providers can use Neero Flow to handle recurring payments and distribute • [Getting started](https://app.theneo.io/neero/neero-payment-gateway/neero-flow/getting-started-1.md): What is Neero Flow? Neero Flow is a comprehensive solution designed to facilitate payments and financial operations for platforms and marketplaces. It allows businesses to easily onboard and manage sellers, service providers, or other third-party participants while handling complex payment flows, including payouts, commissions, and fees. What Problems Does Neero Flow Solve? Neero Flow addresses several key challenges that platforms and marketplaces often face: Complex Payment Distribution : In a platform or marketplace, payments often need to be split among multiple parties. Neero Flow automates the process of distributing payments to different accounts, whether it’s paying out to sellers, splitting revenue with service providers, or managing commissions. Global Payments and Compliance : Managing payments across different countries and regions can be a legal and logistical nightmare. Neero Flow handles the complexities of international payments, including currency conversion, tax reporting, and compliance with local regulations, so businesses can operate globally without having to build out complex financial infrastructure. Onboarding and Verification: For platforms that need to onboard a variety of users—such as freelancers, sellers, or businesses—Neero Flow provides tools to easily verify identities, manage KYC (Know Your Customer) requirements, and ensure compliance with financial regulations. Customizable Payment Flows: Platforms often need to customize how and when payments are made to their users. Neero Flow offers flexible payment routing, allowing businesses to decide how funds are held, transferred, and paid out, based on their specific needs. When Can You Use Neero Flow? Neero Flow is ideal for any platform or marketplace that needs to manage payments between multiple parties. Here are some common use cases: Online Marketplaces: Platforms like e-commerce websites, where sellers list their products and customers purchase them, can use Neero Flow to handle payments, split proceeds, and manage payouts to sellers. Service Platforms: Businesses that connect service providers with customers, such as ride-sharing apps or freelance platforms, can use Neero Flow to manage payments, ensuring that drivers, freelancers, or other service providers are paid accurately and on time. Crowdfunding Platforms: Crowdfunding sites that collect money from backers and distribute it to project creators can use Neero Flow to manage the collection, holding, and distribution of funds. Subscription-Based Marketplaces: Platforms that manage subscriptions on behalf of creators or service providers can use Neero Flow to handle recurring payments and distribute