A Refund resource allows you to return full or partial amount of a payment to your customer's original payment method.

A Refund Resource

{
  "data": {
    "id": "ref_vPSqdAPD2pmtKj6Ac5SRfXjs",
    "type": "refund",
    "attributes": {
      "amount": 10000,
      "currency": "PHP",
      "livemode": true,
      "notes": "Double payment created",
      "payment_id": "pay_qOShdAuD3p8tKa6Ac4SRfbjs",
      "payout_id": null,
      "reason": "requested_by_customer",
      "status": "succeeded",
      "created_at": 1612746914,
      "updated_at": 1612746914
    }
  }
}

Parameter

Type

Description

amount

int32

Amount of the refund. A positive integer with minimum amount of 100. 100 is the smallest unit in cents. If you want to refund an amount of 1.00, the value that you should pass is 100. If you want to refund an amount of 1500.50, the value that you should pass is 150050. The refund amount can be less than or equal to the amount of the corresponding Payment resource.

currency

string

Three-letter ISO currency code, in uppercase. PHP is the only supported currency as of the moment.

livemode

boolean

The value is true if the resource exists in live mode or the value is false if the resource exists in test mode.

notes

string

Notes of the refund. You can use this value to save remarks about the refund. The maximum characters is 255.

payment_id

string

The ID of a Payment resource to be refunded.

payout_id

string

The Payout ID of the Refund resource. The value is null if the Refund is not yet a part of a Payout. If the Payout exists for the Refund, this means the amount will be deducted from your total Payout amount.

reason

string

Reason for the refund. Possible values are duplicate, fraudulent, requested_by_customer and others.

status

string

Status of the refund. Possible values are pending, processing, succeeded and failed.

See statuses for more details.

metadata

dictionary

A set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the object in a structured format. Only string values are accepted.

created_at

timestamp

The date when the refund has been created.

updated_at

timestamp

The date when the refund has been updated.

Statuses

Status

Description

Recommended Action

pending

The refund has just been created and will be processed soon.

Check the status of the refund after a few minutes. If the refund is still pending, contact PayMongo support.

It is rare for a refund to stay in this state.

processing

PayMongo is still processing the refund request

Check the status of the refund after a few minutes. If the refund is still processing, contact PayMongo support.

It is rare for a refund to stay in this state.

succeeded

The refund request has been successfully sent to our payment partner.

Nothing. The refund should reflect in your PayMongo dashboard immediately. The customer should have the refund reflected in their account within the day for eWallets, and within 30 days.

failed

The refund was not able to be processed successfully

Try to refund the transaction again. If the error persists, contact PayMongo support.