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 } } } }