Namespace
Usage
Example
Creating a buildAuthRequest class to store information about the authorization request.
private String buildAuthRequest(commercepayments.AuthorizationRequest authRequest) { // Multiply amount by 100.0 to convert to cents String requestBody = createRequestBody(String.ValueOf((authRequest.amount*100.0).intValue()), authRequest); return requestBody; private String createRequestBody(String amount, commercepayments.AuthorizationRequest authRequest) { JSONGenerator jsonGeneratorInstance = JSON.createGenerator(true); String currencyIso = authRequest.currencyIsoCode; commercepayments.AuthApiPaymentMethodRequest paymentMethod = authRequest.paymentMethod; commercepayments.GatewayErrorResponse error; // Write data to the JSON string. jsonGeneratorInstance.writeStartObject(); jsonGeneratorInstance.writeStringField('merchantAccount', '{!$Credential.Username}'); jsonGeneratorInstance.writeStringField('reference', authRequest.comments == null ? 'randomstring' : authRequest.comments); if(currencyIso == null) { currencyIso = UserInfo.getDefaultCurrency(); } jsonGeneratorInstance.writeFieldName('amount'); jsonGeneratorInstance.writeStartObject(); jsonGeneratorInstance.writeStringField('value', amount); jsonGeneratorInstance.writeStringField('currency', currencyIso); jsonGeneratorInstance.writeEndObject(); commercepayments.CardPaymentMethodRequest cardPaymentMethod; if(paymentMethod != null) { cardPaymentMethod = paymentMethod.cardPaymentMethod; if (cardPaymentMethod != null) { if (cardPaymentMethod.CardCategory != null) { if (commercepayments.CardCategory.CreditCard == cardPaymentMethod.CardCategory) { jsonGeneratorInstance.writeFieldName('card'); jsonGeneratorInstance.writeStartObject(); if (cardPaymentMethod.cvv != null) jsonGeneratorInstance.writeStringField('cvc', String.ValueOf(cardPaymentMethod.cvv)); if (cardPaymentMethod.cardholdername != null) jsonGeneratorInstance.writeStringField('holderName', cardPaymentMethod.cardholdername); if (cardPaymentMethod.cardnumber != null) jsonGeneratorInstance.writeStringField('number', cardPaymentMethod.cardnumber); if (cardPaymentMethod.expiryMonth != null && cardPaymentMethod.expiryYear != null ) { String expMonth = ((String.ValueOf(cardPaymentMethod.expiryMonth)).length() == 1 ? '0' : '') + String.ValueOf(cardPaymentMethod.expiryMonth); jsonGeneratorInstance.writeStringField('expiryMonth', expMonth); jsonGeneratorInstance.writeStringField('expiryYear', String.ValueOf(cardPaymentMethod.expiryYear)); } jsonGeneratorInstance.writeEndObject(); } else { //Support for other card type } } else { throw new SampleValidationException('Required Field Missing : CardCategory'); } } else { throw new SampleValidationException('Required Field Missing : CardPaymentMethod'); } } else { throw new SampleValidationException('Required Field Missing : PaymentMethod'); } jsonGeneratorInstance.writeEndObject(); return jsonGeneratorInstance.getAsString(); }
AuthorizationRequest Constructors
The following are constructors for AuthorizationRequest.
AuthorizationRequest(amount)
Signature
global AuthorizationRequest(Double amount)
Parameters
-
amount:
Type: Double
The amount of the authorization.
AuthorizationRequest Properties
The following are properties for AuthorizationRequest.
paymentMethodData
This field is populated when AuthorizationInput specifies a saved payment method. Accessible using paymentMethodData on AuthorizationRequest. The map contains these fields from SavedPaymentMethod: GatewayToken, Type, GatewayReference, and StandardEntryCode for direct gateway interaction without querying the database. This field is supported only for saved payment methods of type card.
Signature
public Map<String,String> paymentMethodData {get; set;}
AuthorizationRequest Methods
The following are methods for AuthorizationRequest.
equals(obj)
Signature
global Boolean equals(Object obj)
Parameters
-
obj:
Type:
Object External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Signature
global Integer hashCode()
Return Value
Type: Integer