Nomupay gateway guide
| Additional notes |
|---|
| NomuPay supports Non-Payment Authentication (NPA) which can be enabled via the npa_enabled gateway setting. When enabled, verify operations use a zero-amount authorization instead of the standard authorize-void flow. |
| NomuPay uses Bearer token authentication with an access token for secure communication. The access_token is used in the Authorization header for all API requests. |
Adding Nomupay gateway
curl https://core.spreedly.com/v1/gateways.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<gateway>
<gateway_type>nomu_pay</gateway_type>
<entity_id>your_entity_id</entity_id>
<access_token>your_access_token</access_token>
<npa_enabled>false</npa_enabled>
</gateway>'<gateway>
<token>123456789098765432345678</token>
<gateway_type>nomu_pay</gateway_type>
<name>NomuPay</name>
<entity_id>your_entity_id</entity_id>
<characteristics>
<supports_purchase type="boolean">true</supports_purchase>
<supports_authorize type="boolean">true</supports_authorize>
<supports_capture type="boolean">true</supports_capture>
<supports_partial_capture type="boolean">true</supports_partial_capture>
<supports_credit type="boolean">true</supports_credit>
<supports_partial_credit type="boolean">false</supports_partial_credit>
<supports_general_credit type="boolean">true</supports_general_credit>
<supports_void type="boolean">true</supports_void>
<supports_adjust type="boolean">false</supports_adjust>
<supports_verify type="boolean">true</supports_verify>
<supports_reference_purchase type="boolean">false</supports_reference_purchase>
<supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
<supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
<supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
<supports_offsite_synchronous_purchase type="boolean">false</supports_offsite_synchronous_purchase>
<supports_offsite_synchronous_authorize type="boolean">false</supports_offsite_synchronous_authorize>
<supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
<supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
<supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>
<supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>
<supports_store type="boolean">true</supports_store>
<supports_remove type="boolean">true</supports_remove>
<supports_fraud_review type="boolean">false</supports_fraud_review>
<supports_network_tokenization type="boolean">true</supports_network_tokenization>
<supports_inquire_by_gateway_transaction_id type="boolean">false</supports_inquire_by_gateway_transaction_id>
<supports_inquire_by_order_id type="boolean">false</supports_inquire_by_order_id>
<supports_transaction_retry type="boolean">true</supports_transaction_retry>
<supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
<supports_partial_refund type="boolean">true</supports_partial_refund>
<supports_stored_credentials type="boolean">true</supports_stored_credentials>
</characteristics>
<credentials>
<credential>
<name>entity_id</name>
<value>your_entity_id</value>
</credential>
</credentials>
<gateway_settings>
<npa_enabled type="boolean">true</npa_enabled>
</gateway_settings>
<gateway_specific_fields>
<gateway_specific_field>merchant_transaction_id</gateway_specific_field>
<gateway_specific_field>merchant_invoice_id</gateway_specific_field>
<gateway_specific_field>merchant_customer_id</gateway_specific_field>
<gateway_specific_field>create_registration</gateway_specific_field>
<gateway_specific_field>recurring_type</gateway_specific_field>
<gateway_specific_field>industry_practice</gateway_specific_field>
<gateway_specific_field>expiry</gateway_specific_field>
<gateway_specific_field>frequency</gateway_specific_field>
<gateway_specific_field>number_of_installments</gateway_specific_field>
<gateway_specific_field>merchant_memo</gateway_specific_field>
<gateway_specific_field>promotion_code</gateway_specific_field>
<gateway_specific_field>transaction_category</gateway_specific_field>
<gateway_specific_field>tax_amount</gateway_specific_field>
<gateway_specific_field>discount_amount</gateway_specific_field>
<gateway_specific_field>locale</gateway_specific_field>
<gateway_specific_field>merchant_name</gateway_specific_field>
<gateway_specific_field>merchant_phone</gateway_specific_field>
<gateway_specific_field>merchant_url</gateway_specific_field>
<gateway_specific_field>shipping_cost</gateway_specific_field>
<gateway_specific_field>test_mode</gateway_specific_field>
</gateway_specific_fields>
<payment_methods>
<payment_method>credit_card</payment_method>
<payment_method>third_party_token</payment_method>
<payment_method>apple_pay</payment_method>
<payment_method>google_pay</payment_method>
</payment_methods>
</gateway>Parameters
| Name | Description |
|---|---|
| entity_id (Required) | Your NomuPay entity identifier (merchant entity ID) |
| access_token (Required) | Your NomuPay access token is used for Bearer token authentication |
| npa_enabled (Optional) | Set to true to enable Non-Payment Authentication for verify operations (default: false). When enabled, verify uses a zero-amount authorization instead of authorize-void flow. |
Gateway Specific Fields
<gateway_specific_fields>
<nomu_pay>
<merchant_transaction_id>1234</merchant_transaction_id>
<merchant_invoice_id>invoice_1234</merchant_invoice_id>
<merchant_customer_id>customer_123</merchant_customer_id>
<create_registration>true</create_registration>
<recurring_type>STANDING_ORDER</recurring_type>
<industry_practice>INCREMENTAL_AUTH</industry_practice>
<expiry>yyyy-mm-dd</expiry>
<frequency>0001</frequency>
<number_of_installments>12</number_of_installments>
<merchant_memo>merchant_memo</merchant_memo>
<promotion_code>promotion_code_123</promotion_code>
<transaction_category>EC</transaction_category>
<tax_amount>12.5</tax_amount>
<discount_amount>23.0</discount_amount>
<locale>de-AT</locale>
<merchant_name>xyz</merchant_name>
<merchant_phone>1234</merchant_phone>
<merchant_url>merchant_url</merchant_url>
<shipping_cost>12</shipping_cost>
<test_mode>INTERNAL</test_mode>
</nomu_pay>
</gateway_specific_fields>Parameter Details
Field Name | Description |
|---|---|
merchant_transaction_id | Merchant-provided reference number, should be unique for your transactions. |
merchant_invoice_id | Merchant-provided invoice number, should be unique for your transactions, if not passed it will be mapped with order_id |
merchant_customer_id | An identifier for this customer. Typically this is the ID that identifies the shopper in the shop's system. |
merchant_memo | Merchant-provided additional information. The information provided is not transaction processing relevant. It will appear in reporting only. |
promotion_code | Discount code applied at the Order level. There will be 1 Promotion Code per order. |
transaction_category | The category of the transaction, possible values are : EC - eCommerce |
tax_amount | Indicates the tax amount of the payment request. |
discount_amount | invoice level discount amount |
locale | Sets the language/country. Examples : "de-AT", "en-US". etc |
shipping_cost | The total amount of the shipping costs. |
create_registration | If true, the payment details will be stored with the request. As part of the response, you will receive the parameter registration.id which you can use to reference the registration for later payments. |
recurring_type | Indicates the type of a recurring MIT agreement. values - STANDING_ORDER | SUBSCRIPTION |
industry_practice | The MIT types defined under this category are performed to fulfill a business practice as a follow-up to an original cardholder-merchant interaction that could not be completed with one single transaction.
|
frequency | Indicates the minimum number of days between authorizations. |
number_of_installments | Indicates the maximum number of authorizations permitted for installment payments. |
merchant_name | normally make up the first line of the card holder statement. |
merchant_phone | Merchant contact number |
merchant_url | |
test_mode | It is important to note that there are two test modes available to cause requests to be sent to Nomupay simulator or to the acquirers/APM/partner own test platform, as required:
|
Gateway Specific Response Fields
<gateway_specific_response_fields>
<nomu_pay>
<ndc>122.334</ndc>
<build_number>13543erdf54</build_number>
<result_code>000.000.000</result_code>
<registration_id>123456789i8uygfe23456</registration_id>
<result_details>
<AuthCode>1232</AuthCode>
</result_details>
<parameter_errors>parameter_errors</parameter_errors>
</nomu_pay>
</gateway_specific_response_fields>Parameter Details
| Field | Description |
|---|---|
| ndc | An internal unique identifier for the request in Nomupay. |
| build_number | for Nomupay support purposes. |
| result_code | Result code from NomuPay (e.g., '000.000.000' for success).See the result codes for more detailed information. |
| registration_id | Registration ID for stored payment methods |
| result_details | Additional result details from the gateway |
| parameter_errors | Parameter validation errors, if any |
Stored Credentials
For NomuPay, sending stored credential fields can be done using Spreedly’s first class support. For any Authorize or Purchase request, you need to include two fields which tell Spreedly a little bit more about the nature of the transaction:
- stored_credential_initiator
- stored_credential_reason_type
Updated about 16 hours ago
