curl --request PATCH \
--url https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "PaymentSuccessHook",
"endpoint": "<string>",
"method": "POST",
"requestTemplate": {},
"expectedCode": 200,
"retries": 3,
"partnerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "PAYMENT",
"responseTemplate": {},
"expectedResponse": "{ \"status\": \"ok\" }",
"headers": {}
}
'import requests
url = "https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}"
payload = {
"name": "PaymentSuccessHook",
"endpoint": "<string>",
"method": "POST",
"requestTemplate": {},
"expectedCode": 200,
"retries": 3,
"partnerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "PAYMENT",
"responseTemplate": {},
"expectedResponse": "{ \"status\": \"ok\" }",
"headers": {}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'PaymentSuccessHook',
endpoint: '<string>',
method: 'POST',
requestTemplate: {},
expectedCode: 200,
retries: 3,
partnerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
type: 'PAYMENT',
responseTemplate: {},
expectedResponse: '{ "status": "ok" }',
headers: {}
})
};
fetch('https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'PaymentSuccessHook',
'endpoint' => '<string>',
'method' => 'POST',
'requestTemplate' => [
],
'expectedCode' => 200,
'retries' => 3,
'partnerId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'PAYMENT',
'responseTemplate' => [
],
'expectedResponse' => '{ "status": "ok" }',
'headers' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}"
payload := strings.NewReader("{\n \"name\": \"PaymentSuccessHook\",\n \"endpoint\": \"<string>\",\n \"method\": \"POST\",\n \"requestTemplate\": {},\n \"expectedCode\": 200,\n \"retries\": 3,\n \"partnerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"PAYMENT\",\n \"responseTemplate\": {},\n \"expectedResponse\": \"{ \\\"status\\\": \\\"ok\\\" }\",\n \"headers\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"PaymentSuccessHook\",\n \"endpoint\": \"<string>\",\n \"method\": \"POST\",\n \"requestTemplate\": {},\n \"expectedCode\": 200,\n \"retries\": 3,\n \"partnerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"PAYMENT\",\n \"responseTemplate\": {},\n \"expectedResponse\": \"{ \\\"status\\\": \\\"ok\\\" }\",\n \"headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"PaymentSuccessHook\",\n \"endpoint\": \"<string>\",\n \"method\": \"POST\",\n \"requestTemplate\": {},\n \"expectedCode\": 200,\n \"retries\": 3,\n \"partnerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"PAYMENT\",\n \"responseTemplate\": {},\n \"expectedResponse\": \"{ \\\"status\\\": \\\"ok\\\" }\",\n \"headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"endpoint": "<string>",
"method": "<string>",
"requestTemplate": {},
"responseTemplate": {},
"expectedCode": 123,
"expectedResponse": "<string>",
"retries": 123,
"type": "<string>",
"headers": {},
"signingSecret": "<string>",
"partnerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"productIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"retryOnCodes": [
123
]
}Aktualizuj webhook
Aktualizuje webhook. Zmiana wpływa na wszystkie powiązane produkty.
curl --request PATCH \
--url https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "PaymentSuccessHook",
"endpoint": "<string>",
"method": "POST",
"requestTemplate": {},
"expectedCode": 200,
"retries": 3,
"partnerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "PAYMENT",
"responseTemplate": {},
"expectedResponse": "{ \"status\": \"ok\" }",
"headers": {}
}
'import requests
url = "https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}"
payload = {
"name": "PaymentSuccessHook",
"endpoint": "<string>",
"method": "POST",
"requestTemplate": {},
"expectedCode": 200,
"retries": 3,
"partnerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "PAYMENT",
"responseTemplate": {},
"expectedResponse": "{ \"status\": \"ok\" }",
"headers": {}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'PaymentSuccessHook',
endpoint: '<string>',
method: 'POST',
requestTemplate: {},
expectedCode: 200,
retries: 3,
partnerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
type: 'PAYMENT',
responseTemplate: {},
expectedResponse: '{ "status": "ok" }',
headers: {}
})
};
fetch('https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'PaymentSuccessHook',
'endpoint' => '<string>',
'method' => 'POST',
'requestTemplate' => [
],
'expectedCode' => 200,
'retries' => 3,
'partnerId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'PAYMENT',
'responseTemplate' => [
],
'expectedResponse' => '{ "status": "ok" }',
'headers' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}"
payload := strings.NewReader("{\n \"name\": \"PaymentSuccessHook\",\n \"endpoint\": \"<string>\",\n \"method\": \"POST\",\n \"requestTemplate\": {},\n \"expectedCode\": 200,\n \"retries\": 3,\n \"partnerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"PAYMENT\",\n \"responseTemplate\": {},\n \"expectedResponse\": \"{ \\\"status\\\": \\\"ok\\\" }\",\n \"headers\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"PaymentSuccessHook\",\n \"endpoint\": \"<string>\",\n \"method\": \"POST\",\n \"requestTemplate\": {},\n \"expectedCode\": 200,\n \"retries\": 3,\n \"partnerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"PAYMENT\",\n \"responseTemplate\": {},\n \"expectedResponse\": \"{ \\\"status\\\": \\\"ok\\\" }\",\n \"headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway-api.sandbox.paymove.io/api/pay/plugin/webhook/{webhookId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"PaymentSuccessHook\",\n \"endpoint\": \"<string>\",\n \"method\": \"POST\",\n \"requestTemplate\": {},\n \"expectedCode\": 200,\n \"retries\": 3,\n \"partnerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"PAYMENT\",\n \"responseTemplate\": {},\n \"expectedResponse\": \"{ \\\"status\\\": \\\"ok\\\" }\",\n \"headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"endpoint": "<string>",
"method": "<string>",
"requestTemplate": {},
"responseTemplate": {},
"expectedCode": 123,
"expectedResponse": "<string>",
"retries": 123,
"type": "<string>",
"headers": {},
"signingSecret": "<string>",
"partnerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"productIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"retryOnCodes": [
123
]
}Autoryzacje
Klucz API dostarczony przez Paymove po zakończeniu procesu KYC.
Przykład: sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Parametry ścieżki
Identyfikator webhooka
"18e19688-bdda-4843-8777-0f04d0143c77"
Treść
"PaymentSuccessHook"
URL, na który będą wysyłane powiadomienia
POST Szablon body żądania (zmienne podstawiane przez Paymove)
200
Liczba ponownych prób doręczenia. Pole jest wymagane, tak samo jak expectedCode - pominięcie któregokolwiek kończy się kodem 500. Wartość 0 oznacza brak ponowień.
3
PAYMENT Oczekiwana struktura odpowiedzi od partnera
"{ \"status\": \"ok\" }"
Show child attributes
Show child attributes
Odpowiedź
Webhook zaktualizowany
Obiekt webhooka zwracany przez API
Identyfikator webhooka (webhookId)
Show child attributes
Show child attributes
Sekret do weryfikacji podpisu żądań przychodzących od Paymove - przechowuj bezpiecznie
Identyfikatory produktów, do których webhook jest przypisany
Kody HTTP, które uruchamiają ponowienie