Subscriptions API sandboxing


I want to know how does testing in Sandbox mode works for Subscriptions API.

I followed the blog on implementing subscriptions and in the sandbox environment, I created subscriptions with customers card on file. But I face a few issues while testing it.

  1. I never receive any emails about test payments being made. Also when I log in to the Square dashboard. I see Invoices but all are overdue. This is confusing because I don’t know what should be the expected behaviour on production.

  2. it was mentioned in the blog that its mandatory for us to obtain explicit permission to save card on file. If the customer declines saving the card on file, but we still have Square paymentForm open to them, how can I charge them the first time around and link that to their subscription?

Hi @dawer.rafi welcome to the forums!

  1. Sandbox doesn’t send emails currently; this is mentioned in the docs as well: “If you test this in production, after charging the customer’s card on file, Square also sends a receipt to the customer’s email address.” Also another page: “In production, after the subscription is created, Square sends an invoice to the customer’s email address (Square Sandbox does not send emails). An example is shown:”. The invoice will be due on the start_date of the CreateSubscription request, so if you set that to now, or the past, it would be overdue already.
  2. You would pass their customer_id, but not their card_id, in the CreateSubscription call. This will send the customer an invoice instead of charging them immediately. You can see this in 3.2: