Charge a Credit Card

POST https://gateway-api.paycertify.com/api/transactions/sale

Charging a credit card using PayCertify gateway is simple. In this case, we’re performing a straight capture, so it’s an authorization and also a settlement request. If you’re looking just to authorize a certain amount, and then charge later, see Authorize and Charge later

Parameter Type Length Presence Description Example
processor_id uuid 36 Required The Processor record ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
amount number 0.01-9999999 Required Total transaction amount 3.56
card_number string 8-19 Required The credit card to charge 411111111111111
card_expiry_month string 2 Required The expiration month with two positions 01
card_expiry_year string 4 Required The expiration year with four positions 2021
card_cvv string 3-4 Conditional[2] 3 or 4 digit card verification code 123
merchant_transaction_id string 1-255 Required A merchant assigned identifier (your transaction ID) my-order-id-0001
first_name string 1-255 Conditional[3] Customer’s first name John
last_name string 1-255 Conditional[3] Customer’s last name Doe
email string 1-255 Optional Customer’s email [email protected]
mobile_phone string 11-15 Optional Customer’s phone in E.164 format +11231231234
street_address_1 string 1-255 Optional Billing address first line (street address) 59 N Santa Cruz Avenue
street_address_2 string 1-255 Optional Billing address second line (suite, apt, etc) Suite M
city string 1-255 Optional Billing address city Los Gatos
state string 2 Optional Billing address state abbreviation, ISO 3166-2 format. CA
country string 2 Optional Billing address country abbreviation, ISO 3166-1 alpha-2 format. US
zip string 5 Optional Billing address 5-digit postal code 95030
shipping_street_address_1 string 1-255 Optional Shipping address first line (street address) 59 N Santa Cruz Avenue
shipping_street_address_2 string 1-255 Optional Shipping address second line (suite, apt, etc) Suite M
shipping_city string 1-255 Optional Shipping address city Los Gatos
shipping_state string 2 Optional Shipping address state abbreviation, ISO 3166-2 format. CA
shipping_country string 2 Optional Shipping address country abbreviation, in ISO 3166-1 alpha-2 format. US
shipping_zip string 5 Optional Shipping address 5-digit postal code 95030
ip_address string 12 Required Customer’s IP address 192.168.108.105

[1] if processor_id has not been provided, the gateway will pick the record flagged as “default”. [2] card_cvv is not required when running transactions with Address Verification Service enabled. There are some processors such as “PP - Offshore” that requires this field to be present on all authorizations. [3] first_name and last_name are required and minimum of 2 chars when running transactions with Skrill Card processor.

Parameter Type Length Description Example
transaction.id uuid 36 This transaction’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.merchant_id uuid 36 The user’s merchant ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.user_id uuid 36 The user’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.processor_id uuid 36 The processor’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.merchant_transaction_id string 1-255 The merchant assigned identifier my-order-id-0001
transaction.updated_at datetime - Last time this transaction was updated, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
transaction.created_at datetime - Time that transaction was created, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
transaction.events.*.id uuid 36 This event’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.events.*.success boolean - If the event was a successful event or not true
transaction.events.*.event_type string 4-10 The type of event being performed auth, capture, sale, void, refund
transaction.events.*.amount number 0.01-9999999 Total event amount 3.56
transaction.events.*.processor_code string 2-10 The processor response code 00
transaction.events.*.processor_message string 1-255 A human readable message from the processor APPROVAL V12341
transaction.events.*.processor_transaction_id string 1-255 A processor assigned identifier 00000000143242
transaction.events.*.updated_at datetime - Last time this event was updated, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
transaction.events.*.created_at datetime - Time that event was created, on ISO 8601 UTC 2018-02-16T16:33:40+00:00

PS: All fields that are included on the authorization message are also echoed back.

curl --request POST \
  --url https://gateway-api.paycertify.com/api/transactions/sale \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --form 'processor_id=PROCESSOR_ID'
  --form 'amount=1.00' \
  --form 'card_number=4111111111111111' \
  --form 'card_expiry_month=01' \
  --form 'card_expiry_year=2021' \
  --form 'card_cvv=999' \
  --form 'first_name=John' \
  --form 'last_name=Doe' \
  --form 'street_address_1=59 N Santa Cruz Avenue' \
  --form 'street_address_2=Suite M' \
  --form 'city=Los Gatos' \
  --form 'state=CA' \
  --form 'country=US' \
  --form 'ip_address=127.0.0.1' \
  --form 'dynamic_descripton=MY-DESCRIPTOR' \
  --form 'mobile_phone=+11231231234' \
  --form '[email protected]' \
  --form 'merchant_transaction_id=my-order-id-0001' \
  --form 'zip=95030'

Responds with:

{
  "transaction": {
    "id": "3410596f-d596-42d4-9811-41d43868e984",
    "merchant_id": "455a1c64-385b-41b2-a56f-34bf6c5c5335",
    "user_id": "6e064bf5-0e18-466b-811b-f967e8d73b9f",
    "processor_id": "30ff7682-6ec7-48f3-8d7a-62319a9c3c59",
    "merchant_transaction_id": "my-order-id-0001",
    "card_number": "411111******1111",
    "card_brand": "visa",
    "card_expiry_month": "01",
    "card_expiry_year": "2021",
    "first_name": "John",
    "last_name": "Doe",
    "street_address_1": "59 N Santa Cruz Avenue",
    "street_address_2": "Suite M",
    "city": "Los Gatos",
    "state": "CA",
    "country": "US",
    "zip": "95030",
    "email": "[email protected]",
    "mobile_phone": "+11231231234",
    "updated_at": "2018-02-16T16:33:40+00:00",
    "created_at": "2018-02-16T16:33:39+00:00",
    "events": [
        {
            "id": "84a8ab86-ee0e-47d4-8686-4e42fa58355e",
            "success": true,
            "threeds_response": null,
            "avs_response": null,
            "event_type": "sale",
            "amount": "1.00",
            "ip_address": "127.0.0.1",
            "processor_code": "00",
            "processor_message": "APPROVAL TAS656 ",
            "processor_transaction_id": "000000000252616",
            "processor_threeds_response": null,
            "processor_avs_response": "0",
            "updated_at": "2018-02-16T16:33:40+00:00",
            "created_at": "2018-02-16T16:33:39+00:00"
        }
    ]
  }
}