PayInvoice
Нэхэмжлэлийг 3 аргаар төлөх
ANDembedded.button
Тус функц нь тухайн хэрэглэгч дээр server-api холболтоор үүсгэсэн нэхэмжлэлийг төлөх зориулалтаар ашиглана. Зурагдсан button дээр хэрэглэгч дарахаар төлбөр төлөх Modal Mini-App дээгүүр гарч ирж тус нэхэмжлэлийг төлөх боломжтой болно
Example
<div id="pay-and-invoice">
<script type="text/javascript">
ANDembedded.button({
container: 'pay-and-invoice',
invoiceNumber: '9226b721-fb98-49e2-b9e1-20c8fc833f5f',
amount: 5000,
description: 'Бараа #2-ын төлбөр',
callback: (params) => {
if (params.error > 0) {
alert(params.error_message);
} else {
// амжилттай төлсөн тохиолдолд ийшээ оролгүйгээр шууд s2s api-гаар үүсгэсэн нэхэмжлийн буцах хуудас дуудагдана.
}
},
});
</script>
</div>
parameter-ээр зааж өгсөн container дотор эсвэл байгаа газраа шинэ div button зурна.
container
-ээс бусад нь ANDembedded.payInvoice-ийн parameter-ууд
Parameters
function button({
container,
invoiceNumber,
amount,
description,
callback: function({
error,
error_message
}){}
}){}
container
Товчлуур зурах container-ын id
Төрөл | Шаардлагатай |
---|---|
string | Үгүй |
ANDembedded.appendPayInvoiceAction
Тус функц нь тухайн хэрэглэгч дээр server-api холболтоор үүсгэсэн нэхэмжлэлийг төлөх зориулалтаар ашиглана. ANDembedded.button функцээс гарах button-ы үйлдлийг аль ч элемент дээр зааж өгч болно. Уг функцыг button ашигладаг тул шууд дуудаж болох бөгөөд үр дүн нь яг ижил. appendPayInvoiceAction
-ыг өөрийн style-тай button дээр ашиглана.
Example
<input type="button" id="test_append" value="do test" />
<script type="text/javascript">
ANDembedded.appendPayInvoiceAction({
element: document.getElementById('test_append'),
invoiceNumber: '9226b721-fb98-49e2-b9e1-20c8fc833f5f',
amount: 10000,
description: 'Бараа #2-ын төлбөр',
callback: (params) => {
if (params.error > 0) {
alert(params.error_message);
} else {
alert('success');
}
},
});
</script>
Parameters
function appendPayInvoiceAction({
element,
invoiceNumber,
amount,
description,
callback: function({
error,
error_message
}){}
}){}
element
-ээс бусад нь ANDembedded.payInvoice-ийн parameter-ууд
element
Төлбөр төлүүлэх үйлдлийг дарах үед нь дарагдах element
Төрөл | Шаардлагатай |
---|---|
object | Тийм |
ANDembedded.payInvoice
Тус функц нь тухайн хэрэглэгч дээр server-api холболтоор үүсгэсэн нэхэмжлэлийг төлөх зориулалтаар ашиглана. ANDembedded.button функцээс гарах button-ы үйлдлийг шууд дуудах байдлаар ашиглана. Уг функцыг appendPayInvoiceAction болон button ашигладаг тул шууд дуудаж болох бөгөөд үр дүн нь яг ижил. ANDembedded.isEmbedded == false
үед ажиллахгүйг анхаарна уу. Дэлгэрэнгүйг injected javascript
-ээс харна уу.
Example
<input
type="button"
id="test_payInvoice"
value="payInvoice"
onclick="
ANDembedded.payInvoice({
invoiceNumber: '9226b721-fb98-49e2-b9e1-20c8fc833f5f',
amount: 10000,
description: 'Бараа #2-ын төлбөр'
},
callback: (params) => {
if (params.error > 0) {
alert(params.error_message);
} else {
alert('success');
}
});"
/>
Parameters
function payInvoice({
invoiceNumber,
amount,
description
},
callback: function({
error,
error_message
}){}
){}
invoiceNumber
s2s OAuth-оор дуудаж үүсгэсэн тухайн худалдан авалтын нэхэмжлэлийн дугаар
Дараах шалгалтыг давахгүй бол callback
дээр алдаа буцаана
typeof params.invoiceNumber !== 'string';
Төрөл | Шаардлагатай |
---|---|
string | Тийм |
amount
Нэхэмжлэгдэж байгаа дүн. Энэ дүнг зөвхөн хэрэглэгчдэд харагдах байдалд ашиглах болохоор анх нэхэмжлэл үүсгэх үед ашигласан дүнгээс зөрүүтэй тохиолдолд энэ дүн хүчингүй болно.
Дараах шалгалтыг давахгүй бол callback
дээр алдаа буцаана
isNaN(parseFloat(params.amount)) || !isFinite(params.amount);
Төрөл | Шаардлагатай |
---|---|
number | Тийм |
description
Тухайн нэхэмжлэлийг төлүүлэх үед хэрэглэгчдэд харагдах тайлбар. Үүнээс гадна дүн болон байгууллага/дэлгүүрийн нэр харагдана.
Дараах шалгалтыг давахгүй бол callback
дээр алдаа буцаана
typeof params.invoiceNumber !== 'string';
Төрөл | Шаардлагатай |
---|---|
string | Тийм |
callback
Нэхэмжлэл төлөгдөх үйлдэл дууссан үед дуудагдах функц.
Төрөл | Шаардлагатай |
---|---|
function | Тийм |
callback function parameter-ын тодорхойлолт:
нэр | Дата | |
---|---|---|
error | 0 | алдаа байхгүй |
1 | invalid parameter (invoiceNumber, amount, description) аль нэг нь буруу өгөгдөл ирсэн | |
2 | LendMN сэрвэрээс App-руу алдаа буцсан | |
3 | хэрэглэгч цуцалсан | |
error_message | тухайн алдааны message |
callback: (params) => {
if (params.error > 0) {
switch (params.error) {
case 1: //invalid param, тус функцын parameters
console.log('params error:', params.error_message);
break;
case 2: //lendmn server талаас ирсэн алдаа
console.log('lendmn server талаас ирсэн алдааr:', params.error_message);
break;
case 3: //хэрэглэгч төлөлтийг цуцалсан
//тодорхой үйлдэл хийнэ, нэхэмжлэл дахиж үүсгэх үү?
break;
}
} else {
// амжилттай төлсөн тохиолдолд ийшээ оролгүйгээр шууд s2s api-гаар үүсгэсэн нэхэмжлийн буцах хуудас дуудагдана.
}
};