cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/purchase_credit_notes/pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b/purchase_refunds" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"purchase_refund": {
"amount": "0.50",
"payment_method": "Acme Pty Ltd bank account",
"reference": "REF-1001",
"note": "Refund for returned stock."
}
}'from exsited import build_client
client = build_client()
response = client.purchase_refunds.create_purchase_credit_note_purchase_refund(
"pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b",
{
"purchase_refund": {
"amount": "0.50",
"payment_method": "Acme Pty Ltd bank account",
"reference": "REF-1001",
"note": "Refund for returned stock.",
}
},
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.purchaseRefunds.createPurchaseCreditNotePurchaseRefund(
'pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b',
{
purchase_refund: {
amount: '0.50',
payment_method: 'Acme Pty Ltd bank account',
reference: 'REF-1001',
note: 'Refund for returned stock.',
},
},
);
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->purchaseRefunds->createPurchaseCreditNotePurchaseRefund(
'pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b',
[
'purchase_refund' => [
'amount' => '0.50',
'payment_method' => 'Acme Pty Ltd bank account',
'reference' => 'REF-1001',
'note' => 'Refund for returned stock.',
],
],
);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.purchase_refunds.purchase_refunds_dto.PurchaseRefundsDto.PurchaseRefund;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<PurchaseRefund> response = client.purchaseRefunds().createPurchaseCreditNotePurchaseRefund(
"pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b",
Map.of(
"purchase_refund", Map.of(
"amount", "0.50",
"payment_method", "Acme Pty Ltd bank account",
"reference", "REF-1001",
"note", "Refund for returned stock.")));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.PurchaseRefunds.CreatePurchaseCreditNotePurchaseRefundAsync(
"pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b",
new Dictionary<string, object?>
{
["purchase_refund"] = new Dictionary<string, object?>
{
["amount"] = "0.50",
["payment_method"] = "Acme Pty Ltd bank account",
["reference"] = "REF-1001",
["note"] = "Refund for returned stock.",
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.purchaseRefunds
.createPurchaseCreditNotePurchaseRefund(
'pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b',
{
'purchase_refund': {
'amount': '0.50',
'payment_method': 'Acme Pty Ltd bank account',
'reference': 'REF-1001',
'note': 'Refund for returned stock.',
},
},
);
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.PurchaseRefunds().CreatePurchaseCreditNotePurchaseRefund(context.Background(), "pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b", map[string]any{
"purchase_refund": map[string]any{
"amount": "0.50",
"payment_method": "Acme Pty Ltd bank account",
"reference": "REF-1001",
"note": "Refund for returned stock.",
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"purchase_refund": {
"account": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"alternate_date": "<string>",
"amount": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"created_on": "<string>",
"credit_note": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"custom_attributes": [
{
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>",
"type": "<string>",
"value": "<string>"
}
],
"id": "<string>",
"issue_date": "<string>",
"last_updated_by": "<string>",
"last_updated_on": "<string>",
"note": "<string>",
"object": "<string>",
"payment_method": "<string>",
"payment_processor": "<string>",
"reference": "<string>",
"status": "<string>",
"uuid": "<string>",
"version": 123
}
}Purchase refunds
Create a purchase refund from a purchase credit note
Records a refund from a supplier against a purchase credit note and returns it under purchase_refund.
POST
/
purchase_credit_notes
/
{purchase_credit_note_id}
/
purchase_refunds
cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/purchase_credit_notes/pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b/purchase_refunds" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"purchase_refund": {
"amount": "0.50",
"payment_method": "Acme Pty Ltd bank account",
"reference": "REF-1001",
"note": "Refund for returned stock."
}
}'from exsited import build_client
client = build_client()
response = client.purchase_refunds.create_purchase_credit_note_purchase_refund(
"pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b",
{
"purchase_refund": {
"amount": "0.50",
"payment_method": "Acme Pty Ltd bank account",
"reference": "REF-1001",
"note": "Refund for returned stock.",
}
},
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.purchaseRefunds.createPurchaseCreditNotePurchaseRefund(
'pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b',
{
purchase_refund: {
amount: '0.50',
payment_method: 'Acme Pty Ltd bank account',
reference: 'REF-1001',
note: 'Refund for returned stock.',
},
},
);
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->purchaseRefunds->createPurchaseCreditNotePurchaseRefund(
'pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b',
[
'purchase_refund' => [
'amount' => '0.50',
'payment_method' => 'Acme Pty Ltd bank account',
'reference' => 'REF-1001',
'note' => 'Refund for returned stock.',
],
],
);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.purchase_refunds.purchase_refunds_dto.PurchaseRefundsDto.PurchaseRefund;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<PurchaseRefund> response = client.purchaseRefunds().createPurchaseCreditNotePurchaseRefund(
"pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b",
Map.of(
"purchase_refund", Map.of(
"amount", "0.50",
"payment_method", "Acme Pty Ltd bank account",
"reference", "REF-1001",
"note", "Refund for returned stock.")));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.PurchaseRefunds.CreatePurchaseCreditNotePurchaseRefundAsync(
"pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b",
new Dictionary<string, object?>
{
["purchase_refund"] = new Dictionary<string, object?>
{
["amount"] = "0.50",
["payment_method"] = "Acme Pty Ltd bank account",
["reference"] = "REF-1001",
["note"] = "Refund for returned stock.",
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.purchaseRefunds
.createPurchaseCreditNotePurchaseRefund(
'pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b',
{
'purchase_refund': {
'amount': '0.50',
'payment_method': 'Acme Pty Ltd bank account',
'reference': 'REF-1001',
'note': 'Refund for returned stock.',
},
},
);
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.PurchaseRefunds().CreatePurchaseCreditNotePurchaseRefund(context.Background(), "pcn_5e4d3c2b1a0f4e9d8c7b6a5f4e3d2c1b", map[string]any{
"purchase_refund": map[string]any{
"amount": "0.50",
"payment_method": "Acme Pty Ltd bank account",
"reference": "REF-1001",
"note": "Refund for returned stock.",
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"purchase_refund": {
"account": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"alternate_date": "<string>",
"amount": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"created_on": "<string>",
"credit_note": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"custom_attributes": [
{
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>",
"type": "<string>",
"value": "<string>"
}
],
"id": "<string>",
"issue_date": "<string>",
"last_updated_by": "<string>",
"last_updated_on": "<string>",
"note": "<string>",
"object": "<string>",
"payment_method": "<string>",
"payment_processor": "<string>",
"reference": "<string>",
"status": "<string>",
"uuid": "<string>",
"version": 123
}
}Records a refund against the purchase credit note in the path, wrapped in
purchase_refund. payment_method is the reference of one of the supplier’s payment methods. A purchase refund is always raised against a purchase credit note; there is no create on the purchase refunds path.
The SDK samples get their client from credentials your app registers once when it starts, as shown in Authentication. To try the call here, click Try it, set
host to your Exsited API host name and paste an access token from Get an access token. To send a raw JSON body instead of filling in fields, copy the cURL sample and edit its -d payload.Authorizations
An access token from POST /api/v4/oauth2/token. The SDKs get and renew it for you.
Path Parameters
The purchase credit note's id.
Body
application/json
Show child attributes
Show child attributes
Response
201 - application/json
The new purchase refund, under purchase_refund.
Show child attributes
Show child attributes