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


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.

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
  • Last modified: 2024/01/03 15:16