Skip to main content
POST
/
v1
/
refunds
/
Go (SDK)
package main

import(
	"context"
	"os"
	polargo "github.com/polarsource/polar-go"
	"github.com/polarsource/polar-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()

    s := polargo.New(
        polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
    )

    res, err := s.Refunds.Create(ctx, components.RefundCreate{
        OrderID: "<value>",
        Reason: components.RefundReasonCustomerRequest,
        Amount: 90,
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.Refund != nil {
        // handle response
    }
}
{
  "created_at": "2023-11-07T05:31:56Z",
  "modified_at": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "metadata": {},
  "status": "pending",
  "reason": "duplicate",
  "amount": 123,
  "tax_amount": 123,
  "currency": "<string>",
  "organization_id": "<string>",
  "order_id": "<string>",
  "subscription_id": "<string>",
  "customer_id": "<string>",
  "revoke_benefits": true
}

Authorizations

Authorization
string
header
required

Body

application/json
order_id
string<uuid4>
required
reason
enum<string>
required
Available options:
duplicate,
fraudulent,
customer_request,
service_disruption,
satisfaction_guarantee,
other
amount
integer
required
Required range: x > 0
metadata
object
comment
string | null
revoke_benefits
boolean
default:false

Response

created_at
string<date-time>
required
modified_at
string<date-time> | null
required
id
string<uuid4>
required
metadata
object
required
status
enum<string>
required
Available options:
pending,
succeeded,
failed,
canceled
reason
enum<string>
required
Available options:
duplicate,
fraudulent,
customer_request,
service_disruption,
satisfaction_guarantee,
other
amount
integer
required
tax_amount
integer
required
currency
string
required
organization_id
string<uuid4>
required
order_id
string<uuid4>
required
subscription_id
string<uuid4> | null
required
customer_id
string<uuid4>
required
revoke_benefits
boolean
required