LendMN Open Platform

LendMN Open Platform

  • Languages iconEnglish
    • Монгол

›Basic Tutorial

Basic Tutorial

  • Intro
  • Access token
  • Lend login
  • Create invoice
  • Pay Invoice
  • Webhook

Mini-App

  • Intro
  • UX Design

QR Payment

  • Intro

Client API

  • Intro
  • PayInvoice
  • ReadQr
  • Location
  • OpenUri
  • JavaScript to App
  • Protocol

Server API

  • AccessToken
  • UserInfo
  • Notification
  • InvoiceDetail
  • Transaction refund
  • CreateInvoiceEmbedded
  • CancelInvoice
  • EventHook
  • Transfer
  • CreateInvoice
  • Transactions
  • CreateReceipt
  • Branches
  • Invoices
  • Error codes

Policies

  • Аюулгүй байдлын шаардлага
  • Үйлчилгээний нөхцөл

Payment API

  • Create invoice
  • Check invoice
  • Cancel invoice

Webhook

Нэхэмжлэл төлөгдсөн, цуцлагдсан, хугацаа хэтэрсэн үед манай сервер мерчантын бүртгүүлсэн event хүлээн авах хаяг руу дараах бүтэцтэйгээр Event явуулна.

Event-н дата нь ирэхдээ цахим гарын үсэгтэй ирэх бөгөөд гарын үсгийг Лэндмн-с өгсөн public key-н тусламжтай баталгаажуулна.

Хэрвээ баталгаажуулалт хийхгүй тохиолдолд нэхэмжлэлийг лавлах api дуудаж тухайн нэхэмжлэлийг баталгаажуулж болно.

Example

// json data received
$content = trim(file_get_contents("php://input"));
$decoded = json_decode($content, true);

//If json_decode failed, the JSON is invalid.
if (!is_array($decoded)) {
    throw new Exception('Received content contained invalid JSON!');
}

// received event
$eventType = $decoded['eventType'];
$data = $decoded['data'];
$signature = $decoded['signature'];

//
unset($decoded['signature']);

// public key
$publicKey = './data/public.pem';
$publicKeyPem = openssl_pkey_get_public(file_get_contents($publicKey));
$dataNotVerified = json_encode($decoded, JSON_UNESCAPED_UNICODE);

// өгөгдөл зөв эсэхийг шалгах 
$isValid = openssl_verify($dataNotVerified, base64_decode($signature), $publicKeyPem, 'sha256WithRSAEncryption');

// алдаатай өгөгдөл
if (0 == $isValid) {
    throw new Exception('Signature error!');
}

// Нэхэмжлэлийн дугаар
$invoiceNumber = $data['invoiceNumber'];
$description = $data['description'];
$status = $data['status'];
$amount = $data['amount'];
$trackingData = $data['trackingData'];
$createdAt = $data['createdAt']; 
$expireDate = $data['expireDate'];
$paidDate = $data['paidDate']; 

//
switch ($eventType) {
    case 'invoice.paid':
        // ..
        break;
    case 'invoice.cancelled':
        // .. 
        break;
    case 'invoice.expired':
        // ..
        break;
}
← Pay InvoiceIntro →
© AND Systems LLC, All Right Reserved 2022