Criar um pagamento
Cria uma nova tentativa de pagamento. O tipo de pagamento e o custo líquido devem ser fornecidos. Dependendo do método de pagamento, a resposta pode incluir uma URL de redirecionamento que o usuário deve abrir no navegador para concluir o pagamento.
Authorizations
Seção intitulada “Authorizations ”Request Body required
Seção intitulada “Request Body required ”The payment request payload
Payment creation request payload
object
Valor líquido do pagamento (valor real, ex. 50.00 para 50.00 EUR). O total incluindo taxas e IVA é calculado automaticamente.
Tipo de pagamento: “sepa” = débito direto SEPA, “stored_card” = cartão salvo
ID do método de pagamento de GET /payment_methods (ID do cartão salvo ou mandato SEPA)
Examples
Stored card payment
Example request for creating a payment with a previously saved credit/debit card
{ "net_val": 100, "type": "stored_card", "method_id": 94}SEPA direct debit payment
Example request for creating a payment via SEPA direct debit using an existing mandate
{ "net_val": 50, "type": "sepa", "method_id": 747}Responses
Seção intitulada “ Responses ”Payment created
Payment attempt details (JSON-LD)
object
JSON-LD ID
JSON-LD type
Payment Attempt ID
Creation date (unix timestamp)
Completion date (unix timestamp), null if not completed
Payment status: 0 = New, 10 = In Progress (before request), 20 = In Progress (after request), 100 = Done, 200 = Canceled by user, 300 = Canceled by timeout, 400 = Canceled by admin, 1000 = Error
Total payment amount
Net cost value
VAT value
Fee value
Currency
Payment method: 1 = SEPA, 6 = Bank Transfer, 7 = PayPal, 8 = Sofort, 91 = Stored Card, 92 = New Card
URI to related invoice, null if not yet created
Error message if payment failed, null otherwise
Examples
Bank transfer payment created
Example response for a bank transfer payment (no redirect, invoice created immediately)
{ "id": 120, "created_at": 1750066200, "completed_at": 1750066200, "status": 100, "amount": 100, "net_val": 100, "vat_val": 0, "fee_val": 0, "currency": "EUR", "type": 6, "invoice": "/invoices/456", "error": null}Payment attempt details
object
ID da tentativa de pagamento
Data de criação (timestamp Unix)
Data de conclusão (timestamp Unix), null se não concluído
Status do pagamento: 0 = Novo, 10 = Em andamento (antes da solicitação), 20 = Em andamento (após a solicitação), 100 = Concluído, 200 = Cancelado pelo usuário, 300 = Cancelado por timeout, 400 = Cancelado pelo administrador, 1000 = Erro
Valor total do pagamento
Valor do custo líquido
Valor do IVA
Valor da taxa
Código da moeda
Método de pagamento: 1 = SEPA, 6 = Transferência, 7 = PayPal, 8 = Sofort, 91 = Cartão salvo, 92 = Novo cartão
URI para a fatura relacionada, null se ainda não criada
Mensagem de erro se o pagamento falhou, null caso contrário
ID do método de pagamento utilizado (ID do cartão salvo ou mandato SEPA), null se não aplicável
Examples
Bank transfer payment created
Example response for a bank transfer payment (no redirect, invoice created immediately)
{ "id": 120, "created_at": 1750066200, "completed_at": 1750066200, "status": 100, "amount": 100, "net_val": 100, "vat_val": 0, "fee_val": 0, "currency": "EUR", "type": 6, "invoice": "/invoices/456", "error": null}Invalid input
Client ID or API key isn’t active or invalid!
There are not enough funds on your account!
Account isn’t activated. Please wait or contact to support!
The request was well-formed but was unable to be followed due to semantic errors
O endereço IP foi bloqueado temporariamente, pois durante um curto período de tempo foram enviadas várias solicitações com credenciais inválidas. Aguarde e tente mais tarde.
Code Samples
curl -s -X POST 'https://api.lox24.eu/payments' \ -H 'X-LOX24-AUTH-TOKEN: YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{"net_val": 100.00, "type": "stored_card", "method_id": 94}' | jqusing System;using System.Net.Http;using System.Text;using System.Threading.Tasks;
class Program{ static async Task Main() { using var client = new HttpClient(); client.DefaultRequestHeaders.Add("X-LOX24-AUTH-TOKEN", "YOUR_API_TOKEN");
var content = new StringContent( "{\"net_val\": 100.00, \"type\": \"stored_card\", \"method_id\": 94}", Encoding.UTF8, "application/json" );
var response = await client.PostAsync("https://api.lox24.eu/payments", content); var result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result); }}package main
import ( "fmt" "io" "net/http" "strings")
func main() { body := `{"net_val": 100.00, "type": "stored_card", "method_id": 94}` req, _ := http.NewRequest("POST", "https://api.lox24.eu/payments", strings.NewReader(body)) req.Header.Set("X-LOX24-AUTH-TOKEN", "YOUR_API_TOKEN") req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody))}import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;
public class Main { public static void main(String[] args) throws Exception { var client = HttpClient.newHttpClient(); var body = "{\"net_val\": 100.00, \"type\": \"stored_card\", \"method_id\": 94}"; var request = HttpRequest.newBuilder() .uri(URI.create("https://api.lox24.eu/payments")) .header("X-LOX24-AUTH-TOKEN", "YOUR_API_TOKEN") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(body)) .build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); }}fetch('https://api.lox24.eu/payments', { method: 'POST', headers: { 'X-LOX24-AUTH-TOKEN': 'YOUR_API_TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({ net_val: 100.00, type: 'stored_card', method_id: 94 })}).then(res => res.json()).then(console.log);<?php
$data = json_encode(['net_val' => 100.00, 'type' => 'stored_card', 'method_id' => 94]);
$ch = curl_init('https://api.lox24.eu/payments');curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-LOX24-AUTH-TOKEN: YOUR_API_TOKEN', 'Content-Type: application/json']);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);curl_close($ch);
echo $response;import requestsimport json
response = requests.post( 'https://api.lox24.eu/payments', headers={ 'X-LOX24-AUTH-TOKEN': 'YOUR_API_TOKEN', 'Content-Type': 'application/json' }, data=json.dumps({'net_val': 100.00, 'type': 'stored_card', 'method_id': 94}))print(response.json())