Partner requirements
As a partner, you can integrate with AffiniPay, ClientPay, CPACharge, or LawPay to enable your customers (who are AffiniPay merchants) to collect payments without leaving your app.
Integration features
There are several features available for your integration.
Required
- OAuth 2.0 authorization. Enable your customers to authorize you to perform transactions on their behalf.
- Tokenization. Secure payment details by exchanging them for a payment token using hosted fields.
- Ability to disconnect. Allow your customers to unlink and relink their AffiniPay merchant account.
Recommended
- Refunds and voids. Give your customers full control of transactions without leaving your app.
- Merchant signup. Enable your customers to create an AffiniPay merchant account.
- eCheck. Enable your customers to take eCheck transfers.
- In-app payment reconciliation. Enable your customers to track payment status without leaving your application.
- Multiple account support. Enable your customers to accept payments into more than one account.
- Saved payment methods. Enable payment details to be saved securely for future payments.
- Outside payment reconciliation. Enable your customers to track payments made outside of your application but within an AffiniPay product, such as on a payment page.
Optional
- Recurring payments. Enable your customers to schedule future and recurring payments. This requires saved payment methods.
- In-person payments. Enable your customers to take payments on the phone or in-person.
- Transaction search. Enable a keyword search across all transactions. This requires outside payment reconciliation.
- Error message clarification. Provide a better user experience for when transactions fail. For example, replace “card_cvv_incorrect” with “The CVV you provided is invalid.” The Payment Gateway API provides a list of messages and errors.
- Mobile app deep linking. Take payments via your mobile app using deep linking to the AffiniPay, CPACharge, or LawPay mobile app.
- Test mode support. Here are some suggestions if you want to support test mode accounts.
- If it is important to be able to demo the process of connecting to AffiniPay from your application, you need to allow people with test credentials to connect.
- You could use a separate demo environment for test accounts.
- You could configure your production environment so that if the merchant has at least one live account, their application would only show the live accounts. If the merchant only has a test account, then the application would only show the test account.
- If it’s not important, you can hardcode your test account credentials into your database.
- If it is important to be able to demo the process of connecting to AffiniPay from your application, you need to allow people with test credentials to connect.
Demo checklist
Before you can start taking payments in your application, you must demonstrate to AffiniPay how you:
- Connect to AffiniPay, ClientPay, CPACharge, or LawPay from within your application, using the brand-specific Connect button and OAuth 2.0.
- Map to the correct merchant and/or eCheck accounts.
- Run a charge as well as any other transactions you support, such as refund or void. This should include both success and failure scenarios. Each transaction should be verified in the AffiniPay, ClientPay, CPACharge, or LawPay web application.
- Disconnect from AffiniPay, ClientPay, CPACharge, or LawPay from within your application.
- Use the correct logo and other branding.
- Tokenize payment details using hosted fields. (Exception: A PCI-Level-1-certified partner can pass credit card and eCheck information through their servers.)
- Do not save payment details, other than with saved payment tokens from the AffiniPay Payment Gateway. (Exception: A PCI-Level-1-certified partner can pass sensitive credit card and eCheck information through their servers.)
- Include the required information on the payment form.
- For credit card payments: card number, expiration month, expiration year, CVV, and postal code.
- For eCheck payments: account holder type, business name or individual account holder first and last name, routing number, account number, and account type, the “Submit Payment” authorization text, and the notification for merchants who are not eCheck-enabled.
You must submit the final iteration of your full verification demo in an .mp4, .mov, or other downloadable format. You can provide a link to the demo on a hosted site only if you can guarantee non-expiring access.