refund front 1
This commit is contained in:
parent
d271e23861
commit
7635a9826f
@ -550,6 +550,7 @@ func (app *application) RefundCharge(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
err := app.readJSON(w, r, &chargeToRefund)
|
err := app.readJSON(w, r, &chargeToRefund)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
app.errorLog.Println(err)
|
||||||
app.badRequest(w, r, err)
|
app.badRequest(w, r, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -564,6 +565,7 @@ func (app *application) RefundCharge(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
err = card.Refund(chargeToRefund.PaymentIntent, chargeToRefund.Amount)
|
err = card.Refund(chargeToRefund.PaymentIntent, chargeToRefund.Amount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
app.errorLog.Println(err)
|
||||||
app.badRequest(w, r, err)
|
app.badRequest(w, r, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -15,12 +15,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<a href='{{index .StringMap "cancel"}}' class="btn btn-info">Cancel</a>
|
<a href='{{index .StringMap "cancel"}}' class="btn btn-info">Cancel</a>
|
||||||
<a href="#!" class="btn btn-warning">Refund Order</a>
|
<a id="refund-btn" href="#!" class="btn btn-warning">Refund Order</a>
|
||||||
|
<input type="hidden" id="pi" value="">
|
||||||
|
<input type="hidden" id="charge-amount" value="">
|
||||||
|
<input type="hidden" id="currency" value="">
|
||||||
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{define "js"}}
|
{{define "js"}}
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
<script type="module">
|
<script type="module">
|
||||||
import {showInfo} from "/static/js/sale.js"
|
import {showInfo, refund} from "/static/js/sale.js"
|
||||||
showInfo({{.API}});
|
showInfo({{.API}});
|
||||||
|
document.getElementById("refund-btn").addEventListener("click", function(event) {
|
||||||
|
refund({{.API}});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import {formatCurrency} from "./common.js"
|
import { formatCurrency } from "./common.js"
|
||||||
|
|
||||||
|
const id = window.location.pathname.split("/").pop();
|
||||||
|
const token = localStorage.getItem("token");
|
||||||
|
|
||||||
export function showInfo(api) {
|
export function showInfo(api) {
|
||||||
let token = localStorage.getItem("token");
|
|
||||||
let id = window.location.pathname.split("/").pop();
|
|
||||||
|
|
||||||
const requestOptions = {
|
const requestOptions = {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
headers: {
|
headers: {
|
||||||
@ -23,6 +23,45 @@ export function showInfo(api) {
|
|||||||
document.getElementById("product").innerHTML = data.widget.name
|
document.getElementById("product").innerHTML = data.widget.name
|
||||||
document.getElementById("quantity").innerHTML = data.quantity
|
document.getElementById("quantity").innerHTML = data.quantity
|
||||||
document.getElementById("amount").innerHTML = formatCurrency(data.transaction.amount)
|
document.getElementById("amount").innerHTML = formatCurrency(data.transaction.amount)
|
||||||
|
document.getElementById("pi").value = data.transaction.payment_intent;
|
||||||
|
document.getElementById("charge-amount").value = data.transaction.amount;
|
||||||
|
document.getElementById("currency").value = data.transaction.currency;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function refund(api) {
|
||||||
|
Swal.fire({
|
||||||
|
title: "Are you sure?",
|
||||||
|
text: "You won't be able to undo this!",
|
||||||
|
icon: "warning",
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: "#3085d6",
|
||||||
|
cancelButtonColor: "#d33",
|
||||||
|
confirmButtonText: "Refund"
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
let payload = {
|
||||||
|
pi: document.getElementById("pi").value,
|
||||||
|
currency: document.getElementById("currency").value,
|
||||||
|
amount: parseInt(document.getElementById("charge-amount").value, 10),
|
||||||
|
id: parseInt(id, 10),
|
||||||
|
};
|
||||||
|
const requestOptions = {
|
||||||
|
method: 'post',
|
||||||
|
headers: {
|
||||||
|
'Accept': `application/json`,
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Authorization': 'Bearer ' + token,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(payload),
|
||||||
|
};
|
||||||
|
|
||||||
|
fetch(api + "/api/admin/refund", requestOptions)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(function (data) {
|
||||||
|
console.log(data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user