179 lines
5.2 KiB
Handlebars
179 lines
5.2 KiB
Handlebars
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>BTC Pay Checker</title>
|
|
<style>
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
margin: 0;
|
|
padding: 0;
|
|
background-color: #f4f4f4;
|
|
}
|
|
|
|
.container {
|
|
width: 80%;
|
|
margin: auto;
|
|
overflow: hidden;
|
|
}
|
|
|
|
header {
|
|
background: #50b3a2;
|
|
color: white;
|
|
padding-top: 30px;
|
|
min-height: 70px;
|
|
border-bottom: #e8491d 3px solid;
|
|
}
|
|
|
|
header a {
|
|
color: #ffffff;
|
|
text-decoration: none;
|
|
text-transform: uppercase;
|
|
font-size: 16px;
|
|
}
|
|
|
|
header li {
|
|
float: left;
|
|
display: inline;
|
|
padding: 0 20px 0 20px;
|
|
}
|
|
|
|
header #branding {
|
|
float: left;
|
|
}
|
|
|
|
header #branding h1 {
|
|
margin: 0;
|
|
}
|
|
|
|
header nav {
|
|
float: right;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
header .highlight,
|
|
header .current a {
|
|
color: #e8491d;
|
|
font-weight: bold;
|
|
}
|
|
|
|
header a:hover {
|
|
color: #cccccc;
|
|
font-weight: bold;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<header>
|
|
<div class="container">
|
|
<div id="branding">
|
|
<h1><span class="highlight">BTC</span> Pay Checker</h1>
|
|
</div>
|
|
<nav>
|
|
<ul>
|
|
<li class="current"><a href="/">Home</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="container">
|
|
<h2>How to use the /order POST endpoint</h2>
|
|
<p>This endpoint allows you to create a new order. It requires a JSON body with the following fields:</p>
|
|
<ul>
|
|
<li><strong>order_id:</strong> The ID of the order.</li>
|
|
<li><strong>client_id:</strong> The ID of the client.</li>
|
|
<li><strong>amount:</strong> The amount in USD that the client wants to pay.</li>
|
|
<li><strong>currency:</strong> The currency in which the payment will be made. This should be a valid
|
|
FiatCurrency value.</li>
|
|
<li><strong>client_email:</strong> The email of the client.</li>
|
|
</ul>
|
|
<h3>Examples</h3>
|
|
<h4>Go</h4>
|
|
<pre>
|
|
<code>
|
|
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
"net/http"
|
|
)
|
|
|
|
type Order struct {
|
|
OrderID string `json:"order_id"`
|
|
ClientID string `json:"client_id"`
|
|
Amount float64 `json:"amount"`
|
|
Currency string `json:"currency"`
|
|
ClientEmail string `json:"client_email"`
|
|
}
|
|
|
|
func main() {
|
|
order := &Order{
|
|
OrderID: "123",
|
|
ClientID: "456",
|
|
Amount: 100.0,
|
|
Currency: "USD",
|
|
ClientEmail: "client@example.com",
|
|
}
|
|
|
|
jsonValue, _ := json.Marshal(order)
|
|
_, err := http.Post("{{host}}/order", "application/json", bytes.NewBuffer(jsonValue))
|
|
if err != nil {
|
|
// handle error
|
|
}
|
|
}
|
|
</code>
|
|
</pre>
|
|
|
|
<h4>Node.js</h4>
|
|
<pre>
|
|
<code>
|
|
const axios = require('axios');
|
|
|
|
const order = {
|
|
order_id: '123',
|
|
client_id: '456',
|
|
amount: 100.0,
|
|
currency: 'USD',
|
|
client_email: 'client@example.com'
|
|
};
|
|
|
|
axios.post('{{host}}/order', order)
|
|
.then(response => {
|
|
console.log(response.data);
|
|
})
|
|
.catch(error => {
|
|
console.error(error);
|
|
});
|
|
</code>
|
|
</pre>
|
|
|
|
<h4>CURL</h4>
|
|
<pre>
|
|
<code>
|
|
curl -X POST {{host}}/order \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{
|
|
"order_id": "123",
|
|
"client_id": "456",
|
|
"amount": 100.0,
|
|
"currency": "USD",
|
|
"client_email": "client@example.com"
|
|
}'
|
|
</code>
|
|
</pre>
|
|
|
|
<h3>Handling the Response</h3>
|
|
<p>The response from the /order endpoint is an HTML page that should be displayed to the user. This can be done
|
|
by embedding the response in an iframe, loading it in a new browser window or tab, or by replacing the
|
|
current page with the response HTML.</p>
|
|
<p>Please note that the exact method of displaying the response will depend on the specifics of your application
|
|
and its user interface.</p>
|
|
</div>
|
|
</body>
|
|
|
|
</html> |