Skip to main content

Payment processing: POST payment details from your website to the donation form

POST, iframe, payment processing, developer, integration, showcontrols, successurl, return URL, test card, makedonation, API, PCI

This guide is for your web developer. It explains how to send (POST) donor and payment details from your website into our donation form.

What are my options for processing payments?

There are three ways to process payments with us:

  1. Our donation forms. Link to them, or open them as a pop-up on your website.

  2. Our API. Use our payment system with your own hosted donation page.

  3. Our iframe. Process donations on your site without making your own form PCI-compliant.

How do I use the iframe?

The simplest way: create a MYSITE form and install it as an iframe on your website. See Create a MYSITE donation form and Donation Form — Embedding Guide.

To integrate the iframe into your own platform or web app:

  1. Pass parameters to the iframe with POST, not GET.

  2. Always include a parameter named post with the value 1.

Where do I send the POST?

Send the POST data to this address:

https://<secure-donation-domain>/en/give/makedonation?MakeDonation=1&AmutaGovId=XXXXXX&fb=1&successurl=https://example.com/thank-you

  • Replace XXXXXX with the charity ID (EIN or registration number) of the organization receiving the donation.

  • fb=1 shows only the middle part of the form, without the side panels.

  • successurl is where the donor goes after a successful payment. If you leave it out, the donor sees our standard confirmation message inside the iframe.

If you built your integration before forms moved to /give/, your /pay/ or /donate/ address may still work. We recommend switching to /give/.

Which languages can the iframe use?

Replace /en in the address with one of these:

Code

Language

/en

English

/he

Hebrew

/fr

French

/es

Spanish

/ar

Arabic

/ru

Russian

Which fields does the iframe show?

By default, the iframe shows only the credit card fields. It also shows any required field you didn't post: currency, frequency, sum, email or name.

To show other fields anyway, POST a showcontrols parameter with a comma-separated list:

Value

Shows

currency

Currency selector

frequency

Frequency (one-time / monthly)

installments

Installments selector

name

First and last name

phone

Phone number

Example: showcontrols=currency,frequency.

Can I pass custom fields?

Yes. Add custom fields to the query string, up to 10, like this: CF1=xxxxx&CF2=yyyyy.

How do I get the payment details back?

Add variables to your successurl. After the payment is confirmed, we send the donor to that address with the values filled in:

&successurl=https://example.com/thank-you?tsum={sum}&tcurrency={currency}&tfname={fname}&tlname={lname}&tfrequency={frequency}&ttrid={trid}&tdonid={donid}&inst={installments}

Placeholder

Returns

{sum}

Payment sum

{currency}

Currency as a 3-letter code, for example USD

{fname}

First name

{lname}

Last name

{frequency}

1 one-time, 2 monthly recurring, 3 yearly recurring

{donid}

The donation ID in our system

{installments}

Number of installments the donor chose, or 0 for none

Rules for successurl:

  • Start the variables after successurl with ?, and separate them with &.

  • URL-encode everything after successurl=.

  • Put successurl last in the address.

How do I test?

  • Test charity ID: 580000016

  • Test credit card: 9111564510908888

Before testing, send us the email address and IP address you'll test from. Our fraud system may block repeated donations from the same email or IP. We'll add you to our safe list.

Need access to a demo charity account? Contact support.

For a page showing how different parameters change the iframe, ask support.

Did this answer your question?