> For the complete documentation index, see [llms.txt](https://docs.fuspay.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fuspay.finance/collection/collection-momo.md).

# Collection (MOMO)

### Create Order - Using Fuspay's Payment Pages

## This endpoint is used to create an order on Intrapay&#x20;

<mark style="color:green;">`POST`</mark> `https://prod-order-exchanger-api.fuspay.finance/api/v1/no-auth/PartnerP2P/CreateOrder/`

So,  if you want a payment page (a screen that allows your users input their phone number & network), Please include *<mark style="color:green;">**x-partner-id, x-merchant-secret**</mark>* in the **header** and ignore *<mark style="color:red;">**intrapay\_merchant\_id**</mark>* in the request body.

**Note:** The intrapay merchant id is different for each account (currency) created on Intrapay. You can find your intrapay merchant id at the bottom left AFTER YOU HAVE SETUP the wallet of that currency.&#x20;

The merchant secret is also different per currency. Find your merchant secret at the partner mapping screen by clicking on your name on the partner list.

<mark style="color:green;">Orders start to appear on Intrapay dashboard after user has visited the payment page and has accepted payment on their phone.</mark>&#x20;

#### Headers

| Name                                                | Type   | Description                                                                                                                 |
| --------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------- |
| x-merchant-secret<mark style="color:red;">\*</mark> | String | The secret key of the merchant (this is different for each country) and can be gotten from your dashboard (partner mapping) |
| Content-Type<mark style="color:red;">\*</mark>      | String | application/json                                                                                                            |
| x-partner-id<mark style="color:red;">\*</mark>      | String | The ID of the partner (Binance) sending the order                                                                           |
| Authorization<mark style="color:red;">\*</mark>     | String | Authorization is a bearer token which is Partners public key                                                                |

#### Request Body

| Name                                                     | Type   | Description                                                                                                     |
| -------------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------- |
| partner\_order\_id<mark style="color:red;">\*</mark>     | String | Id of order generated on partners' system                                                                       |
| amount\_to\_collect<mark style="color:red;">\*</mark>    | String | amount buyer is to pay                                                                                          |
| timestamp<mark style="color:red;">\*</mark>              | Number | Time order was created. unix or epoch time in milleseconds (GMT+0)                                              |
| order\_expiration<mark style="color:red;">\*</mark>      | Number | the time to be elapsed before order becomes invalid.  unix or epoch time in millseconds (GMT+0)                 |
| currency<mark style="color:red;">\*</mark>               | String | currency the buyer is paying the merchant with                                                                  |
| partner\_callback\_url<mark style="color:red;">\*</mark> | String | payment notification used by IntraPay to notify Partner System about the Payment status of the order            |
| partner\_redirect\_url<mark style="color:red;">\*</mark> | String | provided by partner. url to redirect partner's users                                                            |
| signature<mark style="color:red;">\*</mark>              | String | SHA-512 of request payload signed with both merchant and partner secret key(SK\_merchant\_xxx+SK\_partner\_xxx) |

{% tabs %}
{% tab title="200: OK successful response" %}

{% code overflow="wrap" %}

```javascript
//API response
OK 





//Callback Response 1
{ "partner_order_id": "FUSPAY-Y-20251", "callbak_data": "OK" }




//Callback response 2
{"": "https://intrapay.fuspay.finance/b2b?partner_id=p60037&currency=KHS&amount=1001&fee=0&order_id=593163277406920704&lang=eng-NG&country=kenya&tk=YN6ITFY-ECIEG2A-VCEAT2I-ARZKZEA7388"}

```

{% endcode %}
{% endtab %}

{% tab title="400: Bad Request failed responses" %}

{% code overflow="wrap" %}

```javascript
{ "status": "error", "message": "Public Key combination is not valid", "partner_order_id": "FUSPAY-Y-20251", "signature": "8cb88b058e32460560d707788c759f25201c5a353596c9d271922ba2b0f89541f779642c08a8993bc37ab96cd7cb97ff291a38b6d29ab6642e0979de9077a992" }



```

{% endcode %}
{% endtab %}
{% endtabs %}

#### Example Request- Code

{% tabs %}
{% tab title="Node" %}
{% code overflow="wrap" lineNumbers="true" %}

```javascript
(

    async () => {

        const primary_key = "1"
        const secret_key = ""

        const partner_id = ""
        const merchant_secret = ""
        
        const request = require('request');
        
        const options = {
            method: 'POST',
            url: 'https://prod-order-exchanger-api.fuspay.finance/api/v1/no-auth/PartnerP2P/CreateOrder',
            headers: {
                'Content-Type': 'application/json',
                'x-merchant-secret': merchant_secret,
                'x-partner-id': partner_id,
                Authorization: Bearer ${primary_key}
            },
            body: {
                "partner_order_id": "qorepay0001",
                "amount_to_collect": "500",
                "timestamp": 1694604837129,
                "order_expiration": 1694605737129,
                "currency": "KHS",
                "partner_callback_url": "https://webhook.site/86e6e156-8250-417e-857c-7bfd3cab224d",
                "partner_redirect_url": "https://webhook.site/86e6e156-8250-417e-857c-7bfd3cab224d",
                "signature": "8da879e46e30cb50519a321677c14568f2a08e2ce35c046514a4523402a376d2659827516f59620023400396dd3652c6825a8cb221ffabf7d1007e0275f24d60"
            },
            json: true
        };
        request(options, function (error, response, body) {
            if (error) throw new Error(error);
            console.log(body);
        });


    }
)()

                

```

{% endcode %}
{% endtab %}

{% tab title="cURL" %}

```
// CURL VERSION

curl --request POST \
  --url https://prod-order-exchanger-api.fuspay.finance/api/v1/no-auth/PartnerP2P/CreateOrder \
  --header 'Authorization: Bearer pk_partner_xxxxx' \
  --header 'Content-Type: application/json' \
  --header 'x-merchant-secret: xxxxxxxx' \
  --header 'x-partner-id: pxxx' \
  --data '{
	"partner_order_id": "xxxxx",
	"amount_to_collect": "500",
	"timestamp": 1694604837129,
	"order_expiration": 1694605737129,
	"currency": "KHS",
	"partner_callback_url": "https://webhook.site/xxxxd",
	"partner_redirect_url": "https://webhook.site/xxxxxx",
	"signature": "xxxxxxx"
}'
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fuspay.finance/collection/collection-momo.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
