Announcement

Collapse
No announcement yet.

Reuse existing Payment Method

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CnP.Support.AM
    replied
    Good day @dgarcia

    In case of recurring, along with trans.setRecurring(true) you need to include below code as well:

    trans.RecurringMethod
    trans.Periodicity
    trans.installment
    trans.enddate

    Please refer: https://manual.clickandpledge.com/Tr...ecurringMethod

    Leave a comment:


  • dgarcia
    replied
    CnP.Support.AM thank you for that, it worked. Now my following question was about taking that transaction and setting it up as recurring. I am getting an xml error when setting in the code above

    trans.setRecurring(true);, is there anything more that needs to be set?

    Thanks

    Leave a comment:


  • CnP.Support.AM
    replied
    Good day @dgarcia

    You will need to pass the following information:

    In case of Reference Transaction :

    PaymentMethod.PaymentType='ReferenceTransaction';
    PaymentMethod.vaultguid = VaultGUID of the Reference Transaction
    PaymentMethod.Ordernumber = Reference Transaction Ordernumber


    In case of Credit Card:

    PaymentMethod.PaymentType='CreditCard';
    PaymentMethod.NameOnCard = card holderName;
    PaymentMethod.CardNumber = card Number;
    PaymentMethod.Cvv2 = cvv2;
    PaymentMethod.ExpirationMonth = expirationMonth;
    PaymentMethod.ExpirationYear = expirationYear;


    Based on the PaymentType you need to pass those values to our API: https://manual.clickandpledge.com/PaymentMethod.html

    Leave a comment:


  • dgarcia
    replied
    Hi CnP.Support.AM unless I include all the code above with the vaultGUID and the orderNumber it wont work so I have a couple of questiosn:
    1. If we have the reference transaction info, why do we need the card information?
    2. Without the card information I get back a transaction code: 2052 but no error information, how can I get the error information back?
    3. Hijacking you attention a bit, can I also get which property I can set to make this a recurring transaction?
    Thank you for all your support

    Leave a comment:


  • CnP.Support.AM
    replied
    Good day @dgarcia

    You will need to pass reference transaction information as shown below:

    PaymentMethod.vaultguid = VaultGUID of the Reference Transaction
    PaymentMethod.Ordernumber = Reference Transaction Ordernumber

    Please include the above and let us know if you find any issues.

    Leave a comment:


  • dgarcia
    started a topic Reuse existing Payment Method

    Reuse existing Payment Method

    Hi C&P,

    We are continuing in writing our donation submittal integration and we want to implement the reuse of existing payment methods. I was made aware that there is no Payment Method object and that basically its a reference of a previous transaction that can be used as a base but how do we do that with the CnP_IaaS.PaaS_Class, I don't see where to add the Reference Transaction as stated in your API docs here: https://manual.clickandpledge.com/Tr...nceTransaction

    our send transaction method looks like this at the moment:

    Code:
            Map<String, Object> result = new Map<String,Object>();
    
            CnP_IaaS.PaaS_Class cnpxmlstring = new CnP_IaaS.PaaS_Class();
            CnP_IaaS.PaaS_Class.Operation Operation = new CnP_IaaS.PaaS_Class.Operation();
            CnP_IaaS.PaaS_Class.Order Order = new CnP_IaaS.PaaS_Class.Order();
            CnP_IaaS.PaaS_Class.Authentication Authentication = new CnP_IaaS.PaaS_Class.Authentication();
            CnP_IaaS.PaaS_Class.BillingInformation BillingInfo = new CnP_IaaS.PaaS_Class.BillingInformation();
            CnP_IaaS.PaaS_Class.BillingAddress BillingAddress = new CnP_IaaS.PaaS_Class.BillingAddress();
            CnP_IaaS.PaaS_Class.PaymentMethod PaymentMethod = new CnP_IaaS.PaaS_Class.PaymentMethod();
            CnP_IaaS.PaaS_Class.Receipt Receipt = new CnP_IaaS.PaaS_Class.Receipt();
    
            CnP_IaaS.PaaS_Class.cnpTransaction trans = new CnP_IaaS.PaaS_Class.cnpTransaction();
            trans.TransactionType = 'Authorize';
    
            Authentication.AccountID = 'xxx';//Replace with your Click & Pledge account number.
            Authentication.AccountGuid = 'xxx';//Replace with your Click & Pledge account GUID.
    
            Order.OrderMode='Test';
    
            cnpxmlstring.ItemsList = new List<CnP_IaaS.Paas_Class.Items>();
            CnP_IaaS.Paas_Class.Items i = new CnP_IaaS.Paas_Class.Items();
            i.ItemName = (String)gift.get('itemName');
            i.UnitPrice = (Decimal)gift.get('unitPrice');
            cnpxmlstring.ItemsList.add(i);
            BillingInfo.BillingFirstName = (String)gift.get('firstName');
            BillingInfo.BillingLastName = (String)gift.get('lastName');
            BillingAddress.BillingStateProvince = (String)gift.get('billinngState');
    
            PaymentMethod.NameOnCard = (String)gift.get('cardName');
            PaymentMethod.CardNumber = (String)gift.get('cardNumber');
            PaymentMethod.Cvv2 = (String)gift.get('cvv2');
            PaymentMethod.ExpirationMonth = (String)gift.get('expirationMonth');
            PaymentMethod.ExpirationYear = (String)gift.get('expirationYear');
    
            Operation.IPAddress = (String)gift.get('ip'); 
    
            cnpxmlstring.getOperation_node(Operation);
            cnpxmlstring.getOrder_node(Order);
            cnpxmlstring.getAuthentication_node(Authentication);
            cnpxmlstring.getBillingInformation_node(BillingInfo);
            cnpxmlstring.getBillingAddress_node(BillingAddress);
            cnpxmlstring.getItemslist_node(cnpxmlstring.getItemsList());
            cnpxmlstring.getTransactionDetails_node(trans);
            cnpxmlstring.getPaymentMethod_node(PaymentMethod);
            cnpxmlstring.getreceipt_node(Receipt);
            cnpxmlstring.getgeneratexml(cnpxmlstring);
    
    
            cnpxmlstring.Send_Transaction_api(cnpxmlstring.xmlfile);
    
            result.put('TransactionResultCode',cnpxmlstring.TransactionResultCode);
            result.put('ErrorData',cnpxmlstring.ErrorData);
            result.put('TransactionNumber',cnpxmlstring.TransactionNumber);
    
            return result;

    Thanks
Working...
X