Chargent Order
Overview
Chargent Orders contain information related to the order such as billing information, total amount, due balance, and charge amount. They are central objects to payments lifecycle management.
Order Types
There are multiple types of Chargent Orders.
Type | Definition |
---|---|
Recurring Billing | Recurring Billing takes payment according to a schedule. Learn more about Recurring Billing |
One-time Payment | This order configuration may be used for processing payment on an order one of more times. |
Credit | For Payment Methods with bank account type, and a Chargent Order with a Credit Amount, credits may be sent to the bank account. Note: Must be supported by the Payment Gateway. |
Order Fields
Learn more about Chargent Order Fields.
Create Recurring Chargent Order
Apex Example
try {
// Get payment gateway to use
String paymentGatewayName = 'Stripe Test';
ChargentBase__Gateway__c paymentGateway = [SELECT Id FROM ChargentBase__Gateway__c WHERE Name = :paymentGatewayName ORDER BY CreatedDate DESC LIMIT 1];
try {
// get the last account
Account lastCreatedAccount = [SELECT Id FROM Account WHERE Name = 'Chargent Test' ORDER BY CreatedDate DESC LIMIT 1];
ChargentOrders__ChargentOrder__c newOrder = new ChargentOrders__ChargentOrder__c();
newOrder.ChargentOrders__Gateway__c = paymentGateway.Id;
newOrder.ChargentOrders__Account__c = lastCreatedAccount.Id; // Set the account Id
newOrder.ChargentOrders__Charge_Amount__c = 1000; // Set the recurring order amount
newOrder.ChargentOrders__Currency__c = 'USD'; // Set the currency
newOrder.ChargentOrders__Payment_Status__c = 'Recurring'; // This is a recurring charge
newOrder.ChargentOrders__Payment_Frequency__c = 'Weekly';
newOrder.ChargentOrders__Payment_Stop__c = 'Count';
newOrder.ChargentOrders__Payment_Count__c = 12;
newOrder.ChargentOrders__Charge_Date__c = '01';
newOrder.ChargentOrders__Payment_Start_Date__c = Date.newInstance(2023, 06, 15);
newOrder.ChargentOrders__Payment_Descriptor__c = 'Chargent Test Recurring Order';
// Set other fields as needed
// Create the order
try {
insert newOrder;
System.debug('Chargent Order created successfully.');
} catch (Exception e) {
System.debug('Error creating Chargent Order: ' + e.getMessage());
}
} catch (Exception e) {
System.debug('Error retrieving last created Account: ' + e.getMessage());
}
} catch (Exception e) {
System.debug('Error retrieving the Payment Gateway: ' + e.getMessage());
}
Create One-Time Chargent Order
Apex Example
try {
// Get payment gateway to use
String paymentGatewayName = 'Stripe Test';
ChargentBase__Gateway__c paymentGateway = [SELECT Id FROM ChargentBase__Gateway__c WHERE Name = :paymentGatewayName ORDER BY CreatedDate DESC LIMIT 1];
try {
// Get the last account
Account lastCreatedAccount = [SELECT Id FROM Account WHERE Name = 'Chargent Test' ORDER BY CreatedDate DESC LIMIT 1];
ChargentOrders__ChargentOrder__c newOrder = new ChargentOrders__ChargentOrder__c();
newOrder.ChargentOrders__Gateway__c = paymentGateway.Id;
newOrder.ChargentOrders__Account__c = lastCreatedAccount.Id; // Set the account Id
newOrder.ChargentOrders__Charge_Amount__c = 1000; // Set the order amount
newOrder.ChargentOrders__Currency__c = 'USD'; // Set the currency
newOrder.ChargentOrders__Manual_Charge__c = true; // This is a one-time charge
newOrder.ChargentOrders__Payment_Descriptor__c = 'Chargent Test One Time Order';
// Set other fields as needed
// Create the order
try {
insert newOrder;
System.debug('Chargent Order created successfully.');
} catch (Exception e) {
System.debug('Error creating Chargent Order: ' + e.getMessage());
}
} catch (Exception e) {
System.debug('Error retrieving last created Account: ' + e.getMessage());
}
} catch (Exception e) {
System.debug('Error retrieving Payment Gateway: ' + e.getMessage());
}
Create Credit Chargent Order
Apex Example
try {
// Get payment gateway to use
String paymentGatewayName = 'Stripe Test';
ChargentBase__Gateway__c paymentGateway = [SELECT Id FROM ChargentBase__Gateway__c WHERE Name = :paymentGatewayName ORDER BY CreatedDate DESC LIMIT 1];
try {
// Get the last account
Account lastCreatedAccount = [SELECT Id FROM Account WHERE Name = 'Chargent Test' ORDER BY CreatedDate DESC LIMIT 1];
ChargentOrders__ChargentOrder__c newOrder = new ChargentOrders__ChargentOrder__c();
newOrder.ChargentOrders__Gateway__c = paymentGateway.Id;
newOrder.ChargentOrders__Account__c = lastCreatedAccount.Id;
newOrder.ChargentOrders__Credit_Amount__c = 25; // Set the credit amount
newOrder.ChargentOrders__Currency__c = 'USD'; // Set the currency
newOrder.ChargentOrders__Manual_Charge__c = true; // This is a one-time charge
newOrder.ChargentOrders__Payment_Descriptor__c = 'Chargent Test Credit Order';
// Set other fields as needed
// Create the order
try {
insert newOrder;
System.debug('Chargent Order created successfully.');
} catch (Exception e) {
System.debug('Error creating Chargent Order: ' + e.getMessage());
}
} catch (Exception e) {
System.debug('Error retrieving last created Account: ' + e.getMessage());
}
} catch (Exception e) {
System.debug('Error retrieving Payment Gateway: ' + e.getMessage());
}
Learn More
Learn more about Chargent Orders.