Refund payment shown as gift card payment in transaction report

I found that below refund’s associated payment type is a card payment. But Square is putting in SQUARE_GIFT_CARD bucket. Could you please suggest which API can give this information?

Related Transaction in the report link Dropbox - Loaded Fries 7-5-22 transaction report.xlsx - Simplify your life

Screenshot

{
  "id": "9cgMkFvfbSYBkkbGrJx8pYieV",
  "locationId": "LZ4H1SPMFD3N6",
  "refunds": [
    {
      "id": "MPPXxms90mdhbqom0n45S",
      "locationId": "LZ4H1SPMFD3N6",
      "transactionId": "xuYkJBMkG3iAMnOZGXqzDIxeV",
      "tenderId": "nzUKoaJYQIpgHdX4scsp2VPWvaB",
      "createdAt": "2022-07-05T22:59:23Z",
      "reason": "Accidental Charge",
      "amountMoney": {
        "amount": 625,
        "currency": "USD"
      },
      "status": "APPROVED",
      "processingFeeMoney": {
        "amount": 0,
        "currency": "USD"
      }
    }
  ]
}

Hey @techgyani! When a payment is made with a gift card, Square still sets the source_type of the payment to CARD. You can find this information using the Payments API. For gift card payments, you should be able to see in the card_details field that the card_brand is set to SQUARE_GIFT_CARD.

Thanks @josh-square. But it shows up as VISA. Please see below. Am I using correct payment id nzUKoaJYQIpgHdX4scsp2VPWvaB, I used tender_id from refund object to get the payment?

  "payment": {
    "id": "nzUKoaJYQIpgHdX4scsp2VPWvaB",
    "created_at": "2022-07-05T22:58:06.204Z",
    "updated_at": "2022-07-05T22:58:15.608Z",
    "amount_money": {
      "amount": 625,
      "currency": "USD"
    },
    "status": "COMPLETED",
    "source_type": "CARD",
    "card_details": {
      "status": "CAPTURED",
      "card": {
        "card_brand": "VISA",
        "last_4": "***",
        "exp_month": **,
        "exp_year": ***,
        "fingerprint": "s*****",
        "card_type": "DEBIT",
        "prepaid_type": "NOT_PREPAID",
        "bin": "****"
      },
      "entry_method": "CONTACTLESS",
      "cvv_status": "CVV_NOT_CHECKED",
      "avs_status": "AVS_NOT_CHECKED",
      "auth_result_code": "076760",
      "application_identifier": "A0000000980840",
      "application_cryptogram": "860b45bcab3e1e51",
      "verification_method": "NONE",
      "verification_results": "UNKNOWN",
      "statement_description": "SQ *SANTA CRUZ BEACH BOA",
      "device_details": {
        "device_id": "146CS134A2000085",
        "device_name": "Loaded Fries",
        "device_installation_id": "***"
      },
      "card_payment_timeline": {
        "authorized_at": "2022-07-05T22:58:06.852Z",
        "captured_at": "2022-07-05T22:58:14.126Z"
      }
    },
    "location_id": "LZ4H1SPMFD3N6",
    "order_id": "xuYkJBMkG3iAMnOZGXqzDIxeV",
    "processing_fee": [
      {
        "effective_at": "2022-07-06T00:58:14.000Z",
        "type": "INITIAL",
        "amount_money": {
          "amount": 16,
          "currency": "USD"
        }
      }
    ],
    "total_money": {
      "amount": 625,
      "currency": "USD"
    },
    "approved_money": {
      "amount": 625,
      "currency": "USD"
    },
    "employee_id": "TMnnOQ76Dv6XrnjH",
    "receipt_number": "nzUK",
    "receipt_url": "https://squareup.com/receipt/preview/nzUKoaJYQIpgHdX4scsp2VPWvaB",
    "device_details": {
      "device_id": "146CS134A2000085",
      "device_name": "Loaded Fries",
      "device_installation_id": "b7768a0b-e554-43e8-877c-b24bc22622ce"
    },
    "team_member_id": "TMnnOQ76Dv6XrnjH",
    "application_details": {
      "square_product": "OTHER"
    },
    "version_token": "vbgG1yj8ddaXyzBC9SNtbE6d9q5SFNEGMnRYCxPBgGv6o"
  }
}

@josh-square Also it is not visible in listPaymentRefund API as well. Do I need ```
GIFTCARDS_READ scope?

curl https://connect.squareup.com/v2/refunds?begin_time=2022-07-04T07%3A00%3A00Z&end_time=2022-07-09T06%3A59%3A59Z&location_id=LZ4H1SPMFD3N6&limit=250&sort_order=ASC \
  -H 'Square-Version: 2022-07-20' \
  -H 'Authorization: Bearer ***********************' \
  -H 'Content-Type: application/json'

Looks like I misunderstood the situation here. Your initial payment was made with a card (hence "card_brand": "VISA"), but the refund of that payment was processed by sending the funds to a gift card. I would have expected this to show in ListPaymentRefund though, so I’ll need to check with the team to see what may be happening here.

Hey @techgyani, thanks for your patience! The Refunds API does not currently support these types of refunds (where the payment was made on a card, then refunded to a gift card). It’s definitely something we’re interested in supporting in the future though. There’s no timeline I can share at the moment, but I recommend keeping an eye on future API releases if this is a feature that’s important to your application.

Thank you for the help @josh-square . Its an important feature for us. We will keep any eye on the API releases. :slight_smile:

1 Like