وثائق المطورين

المصادقة والمفاتيح

كيفية توثيق طلبات الـ 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

البيئات

EnvironmentBase URLKeys
Sandboxhttps://sandbox-api.nmapay.com/api/v1Test keys — no real funds move
Productionhttps://app-api.nmapay.com/api/v1Live 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 عند أي تغيير في بيانات الطلب.