وثائق المطورين
المصادقة والمفاتيح
كيفية توثيق طلبات الـ API باستخدام X-API-KEY وتوليد الـ hash.
كل طلب إلى واجهات NMA Pay يجب أن يحتوي على ترويسة X-API-KEY صالحة. يُرسل المفتاح من الخادم فقط ولا يجوز كشفه في جانب العميل.
POST https://app-api.nmapay.com/api/v1/payment-gateway/initiate
X-API-KEY: <YOUR_API_KEY>
Content-Type: application/jsonالبيئات
| Environment | Base URL | Keys |
|---|---|---|
| Sandbox | https://sandbox-api.nmapay.com/api/v1 | Test keys — no real funds move |
| Production | https://app-api.nmapay.com/api/v1 | Live keys — real settlements |
توليد الـ hash
طلبات S2S تتطلب معامل hash يُحسب لكل طلب على حدة ولا يجوز تثبيته في الكود.
import crypto from "crypto";
const reverse = (s) => [...s].reverse().join("");
export function buildHash({ apiKey, email, cardNumber }) {
const segments = cardNumber.substr(0, 6) + cardNumber.substr(-4);
const raw = (reverse(email) + apiKey + reverse(segments)).toUpperCase();
return crypto.createHash("md5").update(raw).digest("hex");
}أي اختلاف في ترتيب العكس أو حالة الأحرف سيؤدي إلى رفض الطلب. أعد توليد الـ hash عند أي تغيير في بيانات الطلب.
