Docs
DocumentationAPI ReferenceAsk AI Assistant
  • Home
    • Get Your Business Started
    • Services and Supported Features
  • Documentation
    • Developer Quickstart
      • Authentication
      • Card Sales and Consent
      • Querying and Filtering
      • Payment Reminders
    • Getting Started
      • Integration Checklist
      • Integration Options
        • REST API
        • Android SDK
        • iOS SDK
        • React Native Wrapper
        • PayForm
        • Verifone
        • Virtual Terminal
      • Basics
        • Authentication
        • API Best Practices
        • API Input Validation
        • Testing Considerations
      • Client Admin Portal
    • Testing
      • Testing Overview
      • Global Payments Testing
      • First Data Testing
      • ACH Testing
    • Resources
      • Tools and Downloads
      • Vocabulary
      • Querying
      • Error Codes
      • Software Requirements
  • API Reference
    • REST API
      • Authentication
      • ACH
      • Card Operations
        • Process a Card Sale
      • Consent Annual
        • Create Annual Consent
      • Consent Recurring
        • Create Recurring Consent
      • Consent Subscription
      • International
      • PayForm
      • Query
        • Account
        • ACH
        • Batch
        • Consent Annual
        • Consent Recurring
        • Consent General
        • Recurring Schedule
        • Receipt
        • Transaction
        • Voice
        • Query General
        • Reconcile
      • Receipt
      • Recurring Schedule
      • Settlement
      • Text to Pay
  • Help
    • Customer Support
      • FAQ
Powered by GitBook

Copyright © Number

On this page
  • Card present sales and consent
  • Verifone integration
  • Virtual Terminal or desktop application
  • REST API integration
  • Manual card sales and consent
  • PayForm widget
  • Virtual Terminal or desktop application
  • Android / iOS SDK integration
  • REST API integration

Was this helpful?

Export as PDF
  1. Documentation
  2. Developer Quickstart

Card Sales and Consent

Learn to make credit card sales and collect consent with Number

PreviousAuthenticationNextQuerying and Filtering

Last updated 3 months ago

Was this helpful?

Card present sales and consent

To make sales or collect consent when a card is present using Number, you have several options:

1

Integration with a Verifone card reader

You can use Verifone card readers. They are secure devices that connect to your computer via USB. They encrypt cardholder data during transmission to ensure security.

2

USB card reader through the Virtual Terminal or our desktop app

When you have a USB card reader connected to your machine, you can log into the Virtual Terminal to make card present sales and to collect consent.

We also have a custom desktop application which can be convenient in an office setting to collect card present payments. It offers similar functionality to the Virtual Terminal.

3

Custom integration with our REST API

Our REST API offers methods for handling card present transactions.

Verifone integration

There are a few approaches to integration, You can either use the browser-based interface option or the Desktop integration with SDK .

For an in-depth tutorial on how to integrate and use your Verifone card reader with Number, see our Verifone integration guide.

Before you start, you'll need to download the Verifone Windows service to your machine, connect your card reader device to a free USB port, allow it to initialize, extract the archive with the service and run the EXE as an administrator. After the installation is complete, reboot the system.

You can issue commands to the service by calling https://localhost:8031 from your website.

Verifone card present sales

Here's an simplified example of how you can invoke the service for a card present sale:

Verifone card present annual consent

Here's an simplified example of how you can invoke the service to collect annual consent:

Virtual Terminal or desktop application

To learn more about using the Virtual Terminal, see the Virtual Terminal user guide.

Virtual Terminal card present sales

When you visit the Virtual Terminal, log in and expand Credit Cards in the navigation on the left. You'll see options for a sale, an EMV sale, authorization, forced auth, and adjustments.

As long as your USB card reader is connected to your machine, it will seamlessly integrate with the Virtual Terminal for card present transactions.

Virtual Terminal card present consent

When you visit the Virtual Terminal, log in and expand Consents in the navigation on the left. You'll see options for annual consent, EMV annual consent, and one-time consent. You can also expand the Recurring tab to find options to create recurring consent, EMV recurring consent, and subscription consent.

As long as your USB card reader is connected to your machine, it will seamlessly integrate with the Virtual Terminal for card present transactions.

REST API integration

Our APIs are useful for any Integration as you can apply a credit, void, query, charge a stored card etc. For integrators who are PCI Level one compliant you may also pass cardholder data directly through the API. Most integrations will use our PayForms to collect Cardholder data while the API will be used for all remaining activity.

To learn more about our APIs, see the REST API integration guide.

When you scan the credit card and collect the track data alongside the other payment details, if using the REST API, prepare the HMAC secured header like shown in Authentication quickstart guide, and encrypt the card number using our RSA certificate.

Follow the instructions in the API reference to prepare and handle the request.

API card present sales

You can use the following API operations:

API card present consent

You can use the following API operations:


Manual card sales and consent

To make credit card sales and collect consent using Number when you want to enter the card details manually, you have the following options:

1

PayForm widget

You can configure and customize our PayForm widget and redirect your users to a separate page with the form or embed it as an IFrame in your existing web application.

2

Virtual Terminal or our desktop application

The Virtual Terminal website allows you to handle manual card sales and consent collection by default. This approach requires no coding and is perfect for a physical point-of-sale.

We also have a custom desktop application which can be convenient way to collect manual card payments and consent. It offers much of the same functionality as the Virtual Terminal.

3

Android or iOS SDK integration

If you have a mobile application that needs to handle payments and consent, our SDKs implement secure forms which can collect cardholder information from your users.

4

REST API integration

For more customization, you can call our API for sales and consent.

PayForm widget

The PayForm is designed to be a highly flexible and secure payment form for your users. To start collecting payments and consent with the PayForm, you'll want to use our builder tool for configuration, then our REST API to generate a payment URL.

Learn more about how to configure and use the PayForm in the PayForm guide.

PayForm manual card sale

In the example below, the PayForm has been setup for an instant card payment.

1

Visible and read-only fields

The cardholder will need to provide their first and last names, full address, email, and click a checkbox to agree to pay and give their permissions to receive an email.

Additionally, they'll see the amount field, but it'll be read-only.

2

Submission options

The PayForm will redirect the user to an external URL. An encrypted query string containing the POST data will also be appended to the URL

3

Styling and colors

The styling and colors were left as default, only switching out the button background and border to different shades of green.

4

Pre-filled values

The amount will be pre-filled as $25, the redirect URL is using an example URL to your website, and the EIndex is using the sandbox value for encryption key. Endpoint value should always be left as default.

The JSON will look like the following:

PayForm JSON example
{
  "InitParams": {
    "MerchID": 1,
    "WTYPE": "PF",
    "PostURL": "",
    "RedirectURL": "https://yourwebsite.com/success",
    "REF_ID": "",
    "RPGUID": "",
    "EndPoint": "PayForm/PF.aspx",
    "EINDEX": "300",
    "Amounts": {
      "Amount": 25,
      "Surcharge": 0,
      "TotalAmt": 25
    },
    "Payer": {
      "Firstname": "",
      "Lastname": "",
      "BillingAddress": {
        "StreetAddress": "",
        "City": "",
        "State": "",
        "ZIP": "",
        "Country": ""
      },
      "Email": "",
      "Phone": ""
    },
    "WidOptions": {
      "eVisible": "6E7F",
      "eReadOnly": "0040",
      "eStyles": "0001",
      "eSubmission": "0201",
      "eColors": "#ffffff,#6cca44,#59ff00,#212121,#ffffff,#212121,#ffffff"
    }
  }
}

This JSON can be used to make a REST API request to generate the actual payment form.

You may re-use this JSON to generate the same type of form for multiple different users. You may also want to dynamically configure values like the amounts from your code.

If you include a valid session key, the PayForm will be accessible under the PaymentUrl included in the response. You can embed it into your site or redirect the user to the page.

Once the user fills out and submits the form, we'll handle the payment.

PayForm manual consent

To use the PayForm to save a card on file, follow the steps in PayForm manual card sale, change the transaction type to collecting cardholder data, and skip the amount field.

You may also collect an instant payment and consent at the same time by choosing the combo widget as your transaction type.

Virtual Terminal or desktop application

The Virtual Terminal is a web application that allows you to manually enter credit card details and process transactions through your browser.

To learn more about using the Virtual Terminal, see the Virtual Terminal user guide.

Virtual Terminal manual card sale

When you visit the Virtual Terminal, log in and expand Credit Cards in the navigation on the left. You'll see options for a sale, an EMV sale, authorization, forced auth, and adjustments. Follow the instructions and manually enter the cardholder details to make a sale.

Virtual Terminal manual consent

Using the Virtual Terminal, you can create annual, one-time, recurring, and subscription consents. Log in and expand Consents and Recurring tabs on the left side of the screen. Choose the type of consent you're interested in and follow the instructions to manually enter the cardholder details and store a card on file.

Android / iOS SDK integration

If you are developing an Android or iOS application, you can utilize our SDKs to charge credit cards and collect consent manually by having users enter their own details.

We recommend following the Android SDK and iOS SDK guides to learn how to integrate Number with your mobile applications.

Mobile manual card sale

Mobile manual consent annual

REST API integration

If you wish to have more control over the integration and you are PCI Level 1 compliant, you can try using our APIs. They provide methods for all payment types available using our other services, including manual card sales and collecting different types of consent.

To learn more about our APIs, see the REST API integration guide.

After authenticating, when you collect cardholder data alongside the other payment details, if using the REST API, prepare the HMAC secured header like shown in Authentication quickstart guide, and encrypt the card number using our RSA certificate. Follow the instructions in the API reference to prepare and handle the request.

Manual card sale

You can use the following API operations:

Manual consent

You can use the following API operations:

If you have your own PCI level one compliance program, you may write your own custom code calling our APIs to collect card present payments and consent. You can read more about PCI compliance in the short section of our Integration Options guide.

When you want to use your Verifone with the Virtual Terminal, you have to first install the very same Windows service that is used when doing a Verifone browser-based integration. After installation, to get the card reader features activated.

Read more about using our custom desktop application for sales in the Integration Options guide or to get access.

For the REST API, use

For the REST API, you can use and .

If you have your own PCI level one compliance program, you may write your own custom code calling our API to collect manual card payments and consent. You can read more about PCI compliance in the short section of our integration guide.

You can read about configuration specifics in the section of our full PayForm guide. For the purpose of this tutorial, you can follow the example below; we'll briefly explain each configuration step.

To generate a PayForm, make a request to .

If you want to handle the query string when redirecting back to your website to store the transaction ID in your database, read the section of our full PayForm guide.

Read more about using our custom desktop application for sales in the Integration Options guide or to get access.

The relevant methods are described in section of the Android SDK guide and section of the iOS SDK guide.

The relevant methods are described in section of the Android SDK guide and section of the iOS SDK guide.

For the REST API, use .

For the REST API, use for annual consent and for recurring consent.

contact the Number support team
contact Number
contact Number
PayForm
PayForm builder
Redirect with query string
Create Recurring Consent
Create Recurring Consent
Create Annual Consent
Create Annual Consent
Process a Card Sale
Process a Card Sale
PCI Compliance
PCI Compliance
1. Charge credit card
3. Create annual consent
1. Charge credit card
3. Create annual consent