Request Field Description
createTransactionRequest
Element | Description | Format |
---|---|---|
merchantAuthentication | Required. Contains merchant authentication information. | |
name | Required. Merchant’s unique API Login ID. The merchant API Login ID is provided in the Merchant Interface and must be stored securely. The API Login ID and Transaction Key together provide the merchant authentication required for access to the payment gateway. | String, up to 25 characters. |
transactionKey | Required. Merchant’s unique Transaction Key. The merchant Transaction Key is provided in the Merchant Interface and must be stored securely. The API Login ID and Transaction Key together provide the merchant authentication required for access to the payment gateway. | String, up to 16 characters. |
refId | Merchant-assigned reference ID for the request. If included in the request, this value is included in the response. This feature might be especially useful for multi-threaded applications. | String, up to 20 characters. |
transactionRequest | Required. This element is a container for transaction specific information. | |
transactionType | Type of credit card transaction. | String. Use |
amount | Required. Amount of the transaction. This is the total amount and must include tax, shipping, tips, and any other charges. | Decimal, up to 15 digits with a decimal point. Do not use currency symbols. |
currencyCode | Required. Currency of the transaction. Use the ISO 4217 three-letter alphabetic code for the currency.Use the ISO 4217 three-letter alphabetic code for the currency. Currently supported currencies are | String, three characters. |
payment | This element contains payment information. | |
trackData | Conditional. Applies to Card Present transactions only. Contains track data read from the customer's card. Track data contains the full card number and expiration date by default. If you use the | |
track1 | Conditional. Applies to Card Present transactions only. Track data includes the full card number and expiration date by default. If you send the | String, 76 characters. Do not include the start sentinel (percent sign), end sentinel (question mark), or Longitudinal Redundancy Check. |
track2 | Conditional. Applies to Card Present transactions only. Track data includes the full card number and expiration date by default. If you use the | String, 37 characters. Do not include the start sentinel (semicolon), end sentinel (question mark), or Longitudinal Redundancy Check. |
creditCard | Conditional. Applies to Card Not Present transactions only. Contains human-readable information from the customer's card. | |
cardNumber | Conditional. Applies to Card Not Present transactions only. The customer’s credit card number. Only use | Numeric string, 13-16 digits. |
expirationDate | Conditional. Applies to Card Not Present transactions only. The customer’s credit card expiration date. Only use | String, 7 characters. Use XML gYearMonth (YYYY-MM) formatting. |
cardCode | Conditional. Applies to Card Not Present transactions only. The customer’s card code. The three- or four-digit number on the back of a credit card (on the front for American Express). This field is required if the merchant would like to use the Card Code Verification (CCV) security feature. Cardholder information must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard. For more information about PCI, please refer to the Standards, Compliance and Security developer training video at https://developer.authorize.net/training. | Numeric string, 3-4 digits. |
profile | The following field enables you to create a customer profile from the data sent to make the transaction. | |
createProfile | Indicates whether to create a customer profile. If set to true, a customer profile and payment profile will be generated from the customer and payment data. | Boolean. Either |
solution | Contains information about the software that generated the transaction. | |
id | The unique Solution ID which you generate and associate with your solution through the Partner Interface. See the Solution ID Implementation Guide for details. | String, up to 50 characters. |
name | The name is generated by the solution provider and provided to Authorize.net. See the Solution ID Implementation Guide for details. | String, up to 255 characters. |
terminalNumber | The merchant's in-store terminal number. Can identify the cashiers or kiosks used. Do not use your processor's terminal ID for this field. | String. |
order | Contains information about the order. | |
invoiceNumber | Merchant-defined invoice number associated with the order. Worldpay RAFT 610 merchants can view the invoice number in the Worldpay Reporting Portal. | String, up to 20 characters. |
description | Description of the item purchased. | String, up to 255 characters. |
lineItems | Contains one or more lineItem elements, up to a maximum of 30 line items. | |
lineItem | Contains information about one item. | |
itemId | Item identification. | String, up to 31 characters. |
name | The human-readable name for the item. | String, up to 31 characters. |
description | A description of the item. | String, up to 255 characters. |
quantity | The quantity of items sold. | Decimal, up to four decimal places. |
unitPrice | The cost per unit, excluding tax, freight, and duty. | Decimal, up to four decimal places. |
taxable | Indicates whether the item is taxable. | Boolean. Either |
tax | Contains information about applicable taxes. | |
amount | Amount of tax. The total transaction amount must include this value. | Decimal, up to four decimal places. |
name | Name of tax. | String, up to 31 characters. |
description | Description of tax. | String, up to 255 characters. |
duty | Contains information about any duty applied. | |
amount | Amount of duty. The total transaction amount must include this value. | Decimal, up to four decimal places. |
name | Name of duty. | String, up to 31 characters. |
description | Description of duty. | String, up to 255 characters. |
shipping | Items in this element describe shipping charges applied. | |
amount | Amount of the shipping charges. The total transaction amount must include this value. | Decimal, up to four decimal places. |
name | Name of the shipping charges. | String, up to 31 characters. |
description | Description of the shipping charges. | String, up to 255 characters. |
taxExempt | Indicates whether or not order is exempt from tax. | Boolean. Either |
poNumber | The merchant-assigned purchase order number. If you use purchase order numbers, your solution should generate the purchase order number and send it with your transaction requests. Authorize.net does not generate purchase order numbers. | String, up to 25 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. |
customer | The following fields contain customer information. | |
type | Type of customer. | String. Either |
id | The unique customer ID used to represent the customer associated with the transaction. If you use customer IDs, your solution should generate the customer ID and send it with your transaction requests. Authorize.net does not generate customer IDs. | String, up to 20 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. |
Conditional. The customer’s valid email address. Required only when using a European payment processor. If you enable Email Receipts in the Merchant Interface, and if the email address format is valid, the customer will receive an Authorize.net generated email receipt. | String, up to 255 characters. | |
billTo | This element contains billing address information. If EVO is your payment processor and you submit any of the following
| |
firstName | Conditional. First name associated with customer’s billing address. Required only when using a European payment processor. | String, up to 50 characters. |
lastName | Conditional. Last name associated with customer’s billing address. Required only when using a European payment processor. | String, up to 50 characters. |
company | Company associated with customer’s billing address. | String, up to 50 characters. |
address | Conditional. Customer’s billing address. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. | String, up to 60 characters. |
city | Conditional. City of customer’s billing address. Required only when using a European payment processor. | String, up to 40 characters. |
state | Conditional. State of customer’s billing address. Required only when using a European payment processor. | String, up to 40 characters. For US states, use the USPS two-character abbreviation for the state. |
zip | Conditional. The postal code of customer’s billing address. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. | String, up to 20 characters. |
country | Country of customer’s billing address. | String, up to 60 characters. Use the ISO 3166 alpha-2 code for the country. |
phoneNumber | Phone number associated with customer’s billing address. | String, up to 25 characters. |
faxNumber | Fax number associated with customer’s billing address. | String, up to 25 characters. |
shipTo | This element contains shipping information. If EVO is your payment processor and you submit any of the following
| |
firstName | First name associated with customer’s shipping address. | String, up to 50 characters. |
lastName | Last name associated with customer’s shipping address. | String, up to 50 characters. |
company | Company associated with customer’s shipping address. | String, up to 50 characters. |
address | Customer’s shipping address. | String, up to 60 characters. |
city | City of customer’s shipping address. | String, up to 40 characters. |
state | State of customer’s shipping address. | String, up to 40 characters. For US states, use the USPS two-character abbreviation for the state. |
zip | The postal code of customer’s shipping address. | String, up to 20 characters. |
country | Country of customer’s shipping address. | String, up to 60 characters. |
customerIP | Conditional. The IPv4 address of the customer initiating the transaction. Defaults to 255.255.255.255 if not included in your request. Required only when the merchant is using customer IP based AFDS filters. | String, up to 15 characters. Use dot-decimal formatting. |
cardholderAuthentication | Important: This field is deprecated and should not be used. Merchants using a third party cardholder authentication solution can submit the following authentication values with Visa and Mastercard transactions. Invalid combinations of card type, | |
authenticationIndicator | Conditional. Important: This field is deprecated and should not be used. The Electronic Commerce Indicator (ECI) value for a Visa transaction, or the Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the ECI or UCAF value prior to submitting the transaction. Required only for Invalid values of This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS. | String. |
cardholderAuthenticationValue | Conditional. Important: This field is deprecated and should not be used. The Cardholder Authentication Verification Value (CAVV) for a Visa transaction, or Accountholder Authentication Value (AVV)/ Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the CAVV, AAV, or UCAF value prior to submitting the transaction. Required only for Invalid values of This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS. | String. |
retail | The retail element contains two elements: marketType and deviceType . If you submit the retail element, the marketType and deviceType elements are required. | |
marketType | The market type for the transaction. This element is required if you submit the | Numeric string. Either |
deviceType | The type of device submitting the retail transaction. This element is required if you submit the | Numeric string. One of the following:
|
employeeId | Merchant-assigned employee ID. This field is required for the EVO processor, and is supported on the TSYS processor. | Numeric string, 4 digits. Defaults to |
transactionSettings | This element contains one or more setting elements. | |
setting | Contains settingName and settingValue . | |
settingName | Name of a specific setting to be modified for this transaction. For a list of valid | String. One of the following: |
settingValue | Indicates whether the specified setting is enabled or disabled. For a list of permitted | String. Permitted values depend on the value of |
userFields | These elements may be used to pass through information, such as session IDs and order details. The merchant will receive these elements in the response, exactly as it was submitted in the request. Authorize.net will not store these values. Do not use these fields to pass through sensitive details as doing so may be a violation of the PCI Data Security Standard. Worldpay RAFT 610 merchants can view the first two userField elements in the Worldpay Reporting Portal. | |
userField | The element for individual user-defined fields. Contains the name and value child elements.Up to 20 | String. |
name | Name of the user-defined field. User reference field provided for the merchant’s use. The merchant will receive this field in the response, exactly as it was submitted in the request. Authorize.net will not store this value. | String. |
value | Value of the user-defined field. User reference field provided for the merchant’s use. The merchant will receive this field in the response, exactly as it was submitted in the request. Authorize.net will not store this value. | String. |
surcharge | Used to record payment card surcharges that are passed along to customers. Contains an amount and a description child element.Currently supported for TSYS merchants. For details on surcharge rules, please see Visa's merchant regulations and fees. | |
amount | Amount of the surcharge. Currently supported for TSYS merchants. For details on surcharge rules, please see Visa's merchant regulations and fees. | Decimal, up to 15 digits with a decimal point. Do not use currency symbols. |
description | Describes the reason or details for the surcharge. Currently supported for TSYS merchants. For details on surcharge rules, please see Visa's merchant regulations and fees. | String, up to 255 characters. |
tip | The amount of the tip authorized by the cardholder. The total transaction amount must include this value. | Decimal, up to 15 digits with a decimal point. Do not use currency symbols. |
processingOptions | Contains details for additional transaction processing. Required if the merchant stores card-on-file payment information. | |
isFirstRecurringPayment | Indicates the initial zero-dollar authorization or the first recurring payment in a series of charges. Required if the merchant stores card-on-file payment information. Set | Boolean. |
isFirstSubsequentAuth | Indicates the initial zero-dollar authorization or the first payment in a series of charges. Required if the merchant stores card-on-file payment information. | Boolean. |
isSubsequentAuth | Indicates that the transaction is a follow-on transaction for an established customer. Use in these situations:
Required if the merchant stores card-on-file payment information. | Boolean. |
isStoredCredentials | Indicates that the transaction was initiated by the customer using card-on-file payment information. Required if the merchant stores card-on-file payment information. | Boolean. |
subsequentAuthInformation | Contains details for subsequent authorizations using stored payment information. Required if the merchant stores card-on-file payment information. | |
originalNetworkTransId | Required. The network transaction ID returned in response to the original card-on-file transaction. Store the | String, up to 255 characters. |
reason | Required. Describes the reason for the subsequent card-on-file transaction. Use Use Use Use | String. Either |
originalAuthAmount | Required. The original authorization amount. Store the amount of the original card-on-file transaction response. Set the | Decimal, up to 15 digits with a decimal point. Required for Discover, Diners Club, JCB, and China Union Pay transactions. Do not use currency symbols. |
authorizationIndicator | Indicates whether the authorization was a pre-authorization or final authorization. Applicable to Mastercard only. Use | String. Either |
FAQs
Is Authorize.net an API? ›
The Authorize.net API provides robust features for processing payment transactions through the Authorize.net gateway. The API supports XML and JSON variants. For detailed API reference information, see the API Reference. If you are new to the Authorize.net API, start with the Credit Card Payment Tutorial.
How do I get an Authorize.net API? ›- For sandbox API requests, log into the sandbox Merchant Interface at https://sandbox.authorize.net. ...
- Navigate to Account > Settings > API Credentials & Keys.
- Click New Transaction Key.
- Click Submit.
- Request and verify a PIN in order to see the transaction key.
Authorize.Net has been accredited by the BBB since 2009 and has an A+ rating.
Is Authorize.net owned by Visa? ›Authorize.net is a wholly owned subsidiary of Visa (NYSE: V). Authorize.net services are sold through a network of reseller partners including Independent Sales Organizations (ISOs), Merchant Service Providers (MSPs) and financial institutions that offer Authorize.net payment services to their merchant customers.
How do I integrate Authorize.net on my website? ›How to set up Authorize.net Payment Gateway on Your WooCommerce ...
How does Authorize.net work? ›Authorizes the transaction: The payment gateway checks to make sure your customer has sufficient funds in their account—and then authorizes the purchase. Captures the transaction: As soon as the purchase is authorized, a hold is placed on the money. At this point, you can confidently ship goods to your customer.
What is an API login? ›The API Login ID grants a merchant access to submit transactions to the payment gateway. You may obtain a new, unique Transaction Key on this page as often as needed.
How do I obtain my API login ID and transaction Key? ›- Log into the Merchant Interface.
- Click Account from the main toolbar.
- Click Settings in the main left-side menu.
- Click API Credentials & Keys.
- Select New Transaction Key.
- Log in to Authorize. ...
- Under Security Settings, click the API Credentials and Keys option.
- On the next page, copy the API Login ID.
- Under the Create New Key(s) section, select the New Transaction Key option. ...
- Click the Submit button.
AuthNet is the cheapest choice as well. Its in-person rates are lower, especially since its flat fee is 19 cents less than PayPal's. It's cheaper for invoicing and keyed-in transactions. Even with PayPal's special pricing for micropayments, AuthNet is cheaper for transactions of $10 and lower.
How does authorize Net make money? ›
Once a day, Authorize.net takes all your transactions from the previous 24-hours and aggregates them into a “batch” which is then sent off to the processing networks. The Daily Batch Fee is the fee assessed for this process.
How much does authorize net charge per month? ›Authorize.net Pricing
There are no setup or cancellation fees, but you will be charged a monthly fee of $25 for either plan. Discounted rates are available to nonprofit organizations. Both plans come with free recurring billing, fraud detection, and customer management tools.
Bankcard USA. BankCard USA (BUSA) offers a complete one-step process for accepting credit card payments for all types of businesses. Along with years of Authorize.Net experience, BUSA has been servicing merchants since 1993 and is powered by First Data and Harris Trust & Savings Bank.
Is Authorize.Net Hipaa compliant? ›All mobile numbers are validated, and payments are verified through Everyware's PCI & HIPAA compliant safe and user-friendly platform.
Is Authorize.Net PCI compliant? ›Authorize.Net is audited yearly to confirm that it remains in compliance with the Payment Card Industry Data Security Standard (PCI DSS). Visa maintains a list of PCI DSS compliant service providers, updated monthly, at Visa Featured Service Providers.
Can I use Authorize Net with godaddy? ›You can use Authorize.Net as a payment gateway with an existing merchant account, or use their bundled offering for an all-in-one processor.
How do I integrate authorize net on WordPress? ›In the WordPress dashboard, click WPForms on the left. Click Addons. Find the Authorize.Net addon and click Install, then Activate.
How can I add payment gateway in asp net? ›There are three step of process: How to integrate payment gateway in asp.net c# Requesting the form token. Embed the payment form or redirect the customer to the payment form by sending an HTML POST containing the form token. Your customer completes and submits the payment form.
Is Authorize.net cheaper than Stripe? ›Pricing, fees, and transaction costs
Stripe and Authorize.net offer similar pricing: 2.9 percent + $0.30 per transaction. Authorize.net also has a secondary tier of pricing if you're using only its payment gateway service: $0.10 per transaction, with a daily batch fee of $0.10.
Is Authorize.net like Stripe? Authorize.net is like Stripe in that both of these services offer payment gateway solutions for e-commerce business owners. They also include tools like security and billing features. Plus, both of these services are easy to integrate with third-party business solutions.
How do I authenticate with API? ›
Authenticate API requests using basic authentication with your email address and password, with your email address and an API token, or with an OAuth access token. All methods of authentication set the authorization header differently. Credentials sent in the payload or URL are not processed.
How does API authorization work? ›The API authentication process validates the identity of the client attempting to make a connection by using an authentication protocol. The protocol sends the credentials from the remote client requesting the connection to the remote access server in either plain text or encrypted form.
What is API basic authentication? ›With Basic Authentication, you pass your credentials (your Apigee account's email address and password) in each request to the Edge API. Basic Authentication is the least secure of the supported authentication mechanisms. Your credentials are not encrypted or hashed; they are Base64-encoded only.
Where is my transaction key for Authorize Net? ›To obtain a Transaction Key: Log on to the Merchant Interface at https://login.authorize.net/ . Select Settings under Account in the main menu on the left. Click API Login ID and Transaction Key in the Security Settings section.
How do I find my Merchant login ID for Authorize Net? ›- Select Settings under Account in the main menu on left.
- Click API Login ID and Transaction Key in the Security Settings section.
- (If this is the first time you are doing this, you will need to enter a secret answer to the secret question you configured at account activation.
API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other. Each time you use an app like Facebook, send an instant message, or check the weather on your phone, you're using an API.
What API means? ›API stands for Application Programming Interface. In the context of APIs, the word Application refers to any software with a distinct function. Interface can be thought of as a contract of service between two applications. This contract defines how the two communicate with each other using requests and responses.
What are different types of authentication in API? ›- HTTP basic authentication. If a simple form of HTTP authentication is all an app or service requires, HTTP basic authentication might be a good fit. ...
- API access tokens. ...
- OAuth with OpenID. ...
- SAML federated identity.
- In a command window, change to the project folder that you created in the tutorial Tutorial: Creating an invoke REST API definition.
- In the API Designer, click the APIs tab.
- Click Add > OAuth 2.0 Provider API.
- Complete the fields according to the following table: ...
- Click Create API.
Authorize.Net and PayPal are actually two very different services. Authorize.Net is a payment gateway that is used to connect eCommerce transactions with payment processors. PayPal is a full-stack payment processing service that includes both payment processing and a payment gateway.
Does Authorize.net work with PayPal? ›
PayPal Express Checkout for Authorize.net enables you to offer PayPal as a payment option to your customers by incorporating it within your existing API implementation.
Does Authorize.net work in Canada? ›Answer. Authorize.net can accept transactions from merchants located in the United States, Australia and Canada.
What percentage does Authorize.net charge? ›The Authorize.net payment gateway does not have a contract or early termination fees. E-check processing is 0.75% of the transaction price.
Does Authorize.net require billing address? ›The billing address is strongly recommended for the purposes of address verification when processing a credit card. The address is not validated for all payment types and not every field is validated even for credit cards, but it is a best practice to capture the full address.
Is Authorize.net a PSP? ›Authorize.net and PayPal are payment service providers, or PSPs, that help small businesses take payments in person and online.
Where is Authorize.net located? ›Authorize.Net supports both level 2 and level 3.
What payments does Authorize.net accept? ›- Visa.
- MasterCard.
- Discover.
- American Express.
- JCB.
- PayPal.
- Apple Pay.
- eCheck.
Authorize.Net
Why do I need authorize net? ›For a business like yours that wants to accept payments—online, in person or both—a payment gateway (such as Authorize.net) is a must-have, along with a merchant bank account. A payment gateway lets your business accept payments made via your eCommerce website or mobile app, or at instore or mobile POS terminals.
Does bank of America use Authorize Net? ›
Authorize.net resellers can answer your payment service questions, provide quotes, and set you up with an integrated merchant account and payment gateway account.
Does authorize net have a payment link? ›From Bill & Pay you can process the payment, set up recurring payments or email the customer with a link to pay. Customers can pay using ACH or credit card and Bill & Pay works with any merchant account.
Does authorize net save credit card info? ›The CIM will save the credit card number, expiration date, and billing address in Authorize.net. After the customer completes an order for the first time on the website, they will have a choice to use the same credit card in future orders.
Do I need to be PCI compliant if I use payment gateway? ›If you use a third-party payment processor, you must comply with PCI standards. If you don't store credit card data but it passes through your server, you must comply with PCI standards. All that to say, if your business accepts credit cards as a form of payment, then you must be PCI compliant.
Where is authorize net located? ›Yes. Authorize.Net is allowing CBD sales – you guessed it – as long as the processor it's connected to also allows CBD. Read about how to set up CBD payment processing or keep up to date on the latest news on how to process credit cards for CBD.
How do I contact authorize net? ›Accept credit cards, contactless payments, and eChecks in person and on the go. Contact us to learn more by calling 1-888-323-4289.
What is Authorize Net CIM? ›The Authorize.Net CIM extension is a custom eCommerce payment solution to allow for stored billing data within the payment gateway rather than within the Magento platform. Using this extension, on customer call or request admin has an additional facility to create quick order in admin panel.
Is Authorize.Net a PSP? ›Authorize.net and PayPal are payment service providers, or PSPs, that help small businesses take payments in person and online.
Does Authorize.Net have a payment link? ›From Bill & Pay you can process the payment, set up recurring payments or email the customer with a link to pay. Customers can pay using ACH or credit card and Bill & Pay works with any merchant account.
Does Authorize.Net hold funds? ›
Reserve Holding Days—If applicable for the payment gateway account, the number of days funds are held in the risk reserve sub-account before becoming eligible for deposit into a merchant bank account. This setting applies to rolling reserves.
Is Authorize.Net a high risk? ›Authorize.Net – high-risk payment gateways and merchant account recommendations. A+ rated and BBB accredited, Tasker Payment Gateways LLC helps website owners sell regulated products online using high-risk Authorize.Net accounts catered to their exact products and services.
What percentage does Authorize.Net charge? ›The Authorize.net payment gateway does not have a contract or early termination fees. E-check processing is 0.75% of the transaction price.
Does Authorize.Net allow Delta 8? ›Shopify's ability to use the AuthorizeNet payment gateway, combined with AuthorizeNet's ability to integrate with Delta 8 and Delta 10 providers, allows for online CBD-focused businesses that use Shopify to expand into Delta 8 and Delta 10.
Does Authorize.net have an app? ›You can download the Authorize.Net Mobile Application from Google Play (Android), Apple's App Store or iTunes (iOS), by searching for Authorize.Net. Once the application is finished downloading, it will be in the Applications menu on your home screen.
What is the use of payment gateway? ›In simple terms, a payment gateway is a network through which your customers transfer funds to you. Payment gateways are very similar to the point-of-sale terminals used at most brick and mortar stores. When using a payment gateway, customers and businesses need to work together to make a transaction.
Is PayPal a gateway or processor? ›The PayPal Commerce Platform gives you a payment gateway and payment processor all in one, making it simple to start selling. There are no set-up or monthly fees for PayPal Commerce Platform.
How do you process a payment? ›- Step 1: Engage at the point of purchase. ...
- Step 2: Connect to a payment gateway. ...
- Step 4: Deliver information through a payment processor. ...
- Step 5: Confirm payment with the issuing bank. ...
- Step 6: Transfer funds to a merchant account.
- Go to the appropriate location for your version of WHMCS: ...
- Click Authorize.net CIM.
- Check Show on Order Form to display this payment method in the Client Area during checkout.
- Enter your Authorize.net login ID and transaction key.
- Click Save Changes.
Without a merchant account, you can accept credit cards the way many modern businesses do: with a payment service provider. Payment service providers (PSPs) like PayPal, Square, Stripe and the like make this process a lot easier and, in many cases, cheaper than it used to be.