Files
hamid.zarghami1@gmail.com e644edbd65 transfer project in github
2024-05-12 15:29:27 +03:30

80 lines
2.0 KiB
JavaScript

const axios = require('axios')
const requestUrl = 'https://api.zarinpal.com/pg/v4/payment/request.json'
const verifyUrl = 'https://api.zarinpal.com/pg/v4/payment/verify.json'
const merchant_id = '37d54b62-faf7-40c9-b831-768abe5b48db'
// const merchant_id = 'c84c4594-a306-werd-asdd-d5d6eb042081'
// const callback_url = 'http://localhost:9964/payresult'
// const callback_url = 'https://app.bargrestaurant.com/payresult'
const callback_url = 'https://bargrestaurant.com/payresult'
module.exports = {
request: async (amount , description , user) => {
try {
const data = {
merchant_id,
callback_url,
amount,
description,
metadata : {mobile : user.mobile_number}
}
const request = await axios.post(requestUrl , data)
if (request?.data?.data?.code === 100){
return {
status : true,
response : request.data.data
}
}else {
return {
status : false,
response : request.data.errors
}
}
}catch (error){
return {
status : false,
response : error.message
}
}
},
verify : async (amount , transactionId) => {
try {
const data = {
merchant_id,
amount,
authority : transactionId
}
const request = await axios.post(verifyUrl , data)
console.log('request',request)
if (request?.data?.data?.code === 100){
return {
status : true,
code : 100,
response : request.data.data
}
}else if (request?.data?.data?.code === 101){
return {
status : true,
code : 101,
response : 'این پرداخت یک بار قبلا تایید شده است'
}
} else {
return {
status : false,
code : -1,
response : request.data.errors
}
}
}catch (error){
return {
status : false,
code : -1,
response : error.message
}
}
}
}