Standard Card Payment Process
The process for new card payments is as follows:
Card Payment (Income_Card_Payment__c)
The Card Payment is the master record in terms of SmarterPay’s Card Payment object structure. It holds the bank details, payment details for the Card Payment. It can really be considered a record representation of the card itself.
Below are the fields provided with the card payment object as standard.
NAME | API NAME | TYPE |
---|---|---|
AUTHORISATION CODE | Authorisation_Code__c | Text(30) |
AUTHORISATION DATE | Authorisation_Date__c | Date/Time |
CARD EXPIRY DATE | Card_Expiry_Date__c | Text(10) |
CARD NUMBER ENDING | Card_Number_Ending__c | Text(16) |
CARD TYPE | Card_Type__c | Text(50) |
IMMEDIATE AMOUNT | Immediate_Amount__c | Currency(6, 2) |
NAME ON CARD | Name_On_Card__c | Text(50) |
PAYMENT DESCRIPTION | Payment_Description__c | Text(50) |
PAYMENT IS FROM CONSOLE VIEW | Payment_Is_From_Console_View__c | Checkbox |
PAYMENT REASON | Payment_Reason__c | Text(255) |
PAYMENT STATUS | Payment_Status__c | Text(255) |
PAYMENT STATUS DETAILS | Payment_Status_Details__c | Text(255) |
RP AMOUNT | RP_Amount__c | Currency(8, 2) |
RP DESCRIPTION | RP_Description__c | Text(100) |
RP ENABLED | RP_Enabled__c | Checkbox |
RP END DATE | RP_End_Date__c | Date |
RP FREQUENCY | RP_Frequency__c | Picklist |
RP NEXT PAYMENT DATE | RP_Next_Payment_Date__c | Date |
RP START DATE | RP_Start_Date__c | Date |
RP STRETCH | RP_Stretch__c | Picklist |
SAGEPAY SECURITY KEY | Sagepay_Security_Key__c | Text(20) |
SAGEPAY TRANSACTION ID | Sagepay_Transaction_ID__c | Text(40) |
SAGEPAY VENDOR | SagePay_Vendor__c | Text(30) |
SURCHARGE AMOUNT | Surcharge_Amount__c | Roll-Up Summary (SUM Income Card Payment History) |
TOKEN | Token__c | Text(100) |
TOTAL AMOUNT TAKEN | Total_Amount_Taken__c | Roll-Up Summary (SUM Income Card Payment History) |
TRANSACTION TYPE | Transaction_Type__c | Picklist |
Card Payment History (Income_Card_Payment_History__c)
The Card Payment History record is a child of the Card Payment object, it’s main function is to store history information pertaining to the Card Payment and its current stage.
Any update to the card whether it be a successful or failed payment will be shown here, including the reason for this. Refunds also appear as Card Payment Histories.
Below are the fields provided with the card payment history object.
NAME | API NAME | TYPE |
---|---|---|
AMOUNT | Amount__c | Currency(6, 2) |
AUTHORISATION CODE | Authorisation_Code__c | Text(30) |
AUTHORISATION DATE | Authorisation_Date__c | Date/Time |
CREDIT AMOUNT | Credit_Amount__c | Formula (Currency) |
INCOME CARD PAYMENT | Income_Card_Payment__c | Master-Detail(Income Card Payment) |
PAYMENT STATUS | Payment_Status__c | Text(255) |
PAYMENT STATUS DETAILS | Payment_Status_Details__c | Text(255) |
REASON | Refund_Reason__c | Text(255) |
SAGEPAY SECURITY KEY | SagePay_Security_Key__c | Text(20) |
SAGEPAY TRANSACTION ID | Sagepay_Transaction_ID__c | Text(40) |
SAGEPAY VENDOR TX CODE | SagePay_Vendor_Tx_Code__c | Text(50) |
SURCHARGE AMOUNT | Surcharge_Amount__c | Currency(10, 2) |
TRANSACTION TYPE | Transaction_Type__c | Transaction_Type__c |
Creating a Card Payment - Moto Payment
Card Payment are created using the Card Payment button. This is a standard component in the base Card Payment package. By default, is can be accessed via an Opportunity record, or via the Card Payment Tab.
In the default Card Payment installation selecting the button will re-direct the user to Opayo’s payment page where a payment can be taken. A number of details are pre-populated for the user such as address and billing name (depending on installation configuration). Then next page prompts for the customer card details. From there whether the payment is successful or not the user is re-directed to the Card Payment record. This will display the result of the card payment.
Creating a Card Payment - Ecommerce Payment
SmarterPay also offer ecommerce payments integration with Opayo and Salesforce.
We offer two payment integrations:
SmarterPay Integration
SmarterPay can fully integrate with most modern website frameworks. This is usually accomplished by hosting and developing the customer’s payment page ourself or on Salesforce Sites with the customer passing some simple parameters to us such as an Opportunity ID. SmarterPay can offer much greater systems integrations if required. Some examples are checkout systems, event booking systems and licensing systems.
Customer Implementation
Customers can choose to handle the card payment integration themselves if they have the technical resources available to them.
We provide:
- Easy to use apex helper classes to help build URL requests to the SmarterPay service.
- Custom settings setup and object installation
- Assistance with setup
The standard ecommerce integration requires the customer to redirect to our payment system using the below URL and parameters:
Example URL: HTTP://smarterpay.com?sagpayvendor=TestVendor&incomeusername=Smarterpay&softwareversion=3& salesforcecardpaymentrecordtype=ecommerce…………….
PARAMETER | DESCRIPTION |
---|---|
SAGEPAYVENDOR | Opayo Vendor Code |
INCOMEUSERNAME | SmarterPay Specific Customer Code |
SOFTWAREVERSION | SmarterPay installation version |
SALESFORCECARDPAYMENTRECORDTYPE | Record type id of the card record that will be created in Salesforce |
FIRSTREFERENCEID | Id of the first reference object |
FIRSTREFERENCENAME | API Name of the first reference object |
FIRSTREFERENCEOBJECT | API Name of the first reference object |
FIRSTREFERENCEOBJECTNAME | API Name of the first reference object |
SECONDREFERENCEID | Id of the second reference object |
SECONDREFERENCENAME | API Name of the second reference object |
SECONDREFERENCEOBJECT | API Name of the second reference object |
SECONDREFERENCEOBJECTNAME | API Name of the second reference object |
THIRDREFERENCEID | Id of the third reference object |
THIRDREFERENCENAME | API Name of the third reference object |
THIRDREFERENCEOBJECT | API Name of the third reference object |
THIRDREFERENCEOBJECTNAME | API Name of the third reference object |
BILLINGADDRESS | Salesforce Billing Address |
BILLINGPOSTCODE | Salesforce Billing PostCode |
BILLINGCITY | Salesforce Billing City |
BILLINGCOUNTRYCODE | Salesforce Billing Country Code (eg:GB) |
BILLINGEMAIL | Salesforce Billing Email |
BILLINGFIRSTNAME | Salesforce Billing First Name |
BILLINGSURNAME | Salesforce Billing Surname |
DELIVERYADDRESS | Salesforce Delivery Address |
DELIVERYPOSTCODE | Salesforce Delivery PostCode |
DELIVERYCITY | Salesforce Delivery City |
DELIVERYCOUNTRYCODE | Salesforce Delivery Country Code (eg: GB) |
DELIVERYEMAIL | Salesforce Delivery Email |
DELIVERYFIRSTNAME | Salesforce Delivery First Name |
DELIVERYSURNAME | Salesforce Delivery Surname |
SALESCURRENCYCODE | Currency Code (eg: GBP) |
SALEAMOUNT | Total Amount to take |
ISMULTICURRENCY | Set to true if Salesforce has multi-currency mode switched on. |
PAYMENTREASON | Reason field on the Card Payment Record |
PAYMENTDESCRIPTION | Description field on the Card Payment Record |
USEBASKET | True if linking to multiple objects |
BASKETCONTENT | List of object Id's |