2.85.118 ProntoPayments v2

Release Date: 09/05/2024

URL: /packaging/installPackage.apexp?p0=04tIU000001E7EP

 

 Upgrade Risks

When upgrading to version 2.71 or higher, make sure to re-save existing gateway records to have the password field encrypted .

 

 Enhancement

  • Batch Process Payment

    • When processing Direct Debit payments via the Batch Payment Processing in the ProntoPayments SettingsScheduler,

      • If the Payment Transaction’s Payment Status = Success,

        • If the Gateway = SecurePay,

          • The Payment Transaction’s OpportunityStage is NOT be updated (stays to open)

    • When processing Bank payments with an Opportunity record via the Batch Payment Processing batch (run batch immediately or by schedule),

      • If the Opportunity’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • If the payment processing is successful (not yet settled but successfully added to the gateway portal - waiting to be processed),

          • The Payment Transaction record of the Opportunity record will be updated where:

            • Payment Status = Pending

            • Other fields will be populated based on the parsed response

          • Multiple ASPP Log records will be created based on the payment process

        • If the payment processing is failed,

          • The Payment Transaction record of the Opportunity record will be updated where:

            • Payment Status = Failed

            • Other fields will be populated based on the parsed response

          • Multiple ASPP Log records will be created based on the payment process

      • If the Opportunity’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = FALSE,

        • The Bank payments will NOT be processed

        • An ASPP Log record will be created where:

          • Message = The 3D Secure Payments should be enabled to allow support of Direct Debit.

    • When processing Bank payments with a PPayment record via the Batch Payment Processing batch (run batch immediately or by schedule),

      • If the PPayment’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • If the payment processing is successful (not yet settled but successfully added to the gateway portal - waiting to be processed),

          • The PPayment record will be updated where:

            • Payment Status = Pending

            • Other fields will be populated based on the parsed response

          • Multiple ASPP Log records will be created based on the payment process

          • If the payment processing is failed,

            • The PPayment record will be updated where:

              • Payment Status = Failed

              • Other fields will be populated based on the parsed response

            • Multiple ASPP Log records will be created based on the payment process

      • If the PPayment’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = FALSE,

        • The Bank payments will NOT be processed

        • An ASPP Log record will be created where:

          • Message = The 3D Secure Payments should be enabled to allow support of Direct Debit.



  • Process Payment

    • When processing a Direct Debit payment via the Process Payment button in an Opportunity record,

      • If the Payment Transaction’s Payment Status = Success,

        • If the Gateway = SecurePay,

          • The Payment Transaction’s OpportunityStage is NOT be updated (stays to open)

    • When processing Bank payments with an Opportunity record via the Process Payment button,

      • If the Opportunity’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • If the payment processing is successful (not yet settled but successfully added to the gateway portal - waiting to be processed),

          • The Payment Transaction record of the Opportunity record will be updated where:

            • Payment Status = Pending

            • Other fields will be populated based on the parsed response

          • Multiple ASPP Log records will be created based on the payment process

        • If the payment processing is failed,

          • The Payment Transaction record of the Opportunity record will be updated where:

            • Payment Status = Failed

            • Other fields will be populated based on the parsed response

          • Multiple ASPP Log records will be created based on the payment process

      • If the Opportunity’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = FALSE,

        • The Bank payments will NOT be processed

        • An error message will display: The 3D Secure Payments should be enabled to allow support of Direct Debit.

    • When processing Bank payments with a PPayment record via the Process Payment button,

      • If the PPayment’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • If the payment processing is successful (not yet settled but successfully added to the gateway portal - waiting to be processed),

          • The PPayment record will be updated where:

            • Payment Status = Pending

            • Other fields will be populated based on the parsed response

          • Multiple ASPP Log records will be created based on the payment process

        • If the payment processing is failed,

          • The PPayment record will be updated where:

            • Payment Status = Failed

            • Other fields will be populated based on the parsed response

          • Multiple ASPP Log records will be created based on the payment process

      • If the PPayment’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = FALSE,

        • The Bank payments will NOT be processed

        • An error message will display: The 3D Secure Payments should be enabled to allow support of Direct Debit.



  • Reusable Component

    • When processing Bank payments where the Reusable Component class is called,

      • If the provided Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • Regardless of whether Bank Account details or Customer Reference Number and Token are provided, the Bank payments will be processed in the gateway portal (internally)

        • After the payment processing,

          • If the payment processing is successful (not yet settled but successfully added to the gateway portal - waiting to be processed),

            • A Payment Transaction record will be created where:

              • Payment Status = Pending

              • Other fields will be populated based on the parsed response

            • Multiple ASPP Log records will be created based on the payment process

            • The result will be returned with the following values:

              • Payment Transaction Id = *The newly created Payment Transaction record

              • Status = Pending

          • If the payment processing is failed,

            • A Payment Transaction record will be created where:

              • Payment Status = Failed

              • Other fields will be populated based on the parsed response

            • Multiple ASPP Log records will be created based on the payment process

            • The result will be returned with the following values:

              • Payment Transaction Id = *The newly created Payment Transaction record

              • Status = Failed

      • If the provided Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = FALSE,

        • The Bank payments will NOT be processed

        • The result will be returned with the following values:

          • Message = The 3D Secure Payments should be enabled to allow support of Direct Debit.

          • Error Code = 001

          • Limit = TRUE


  • Get Payment Status/Batch Get Payment Status

    • When retrieving the status of the Payment Transaction record via the Get Payment Status button or Batch Get Payment Status batch (run batch immediately or by schedule),

      • If the Payment Transaction’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • If the Payment Transaction’s Payment Type = Bank AND Payment ID = EMPTY,

          • The Payment Transaction record will be updated based on the retrieved details from the gateway portal where:

            • Payment Status = Based on the retrieved transaction status

            • Payment ID = Balance Transaction ID

            • Other fields will be populated based on the parsed response

        • If the Payment Transaction’s Payment Type = Bank AND Payment ID != EMPTY,

          • The Payment Transaction record will be updated based on the retrieved details from the gateway portal where:

            • Payment Status = Based on the retrieved transaction status

            • Other fields will be populated based on the parsed response

    • When retrieving the status of the PPayment record via the Get Payment Status button or Batch Get Payment Status batch (run batch immediately or by schedule),

      • If the PPayment’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • If the PPayment’s Payment Type = Bank AND Payment ID = EMPTY,

          • The PPayment record will be updated based on the retrieved details from the gateway portal where:

            • Payment Status = Based on the retrieved transaction status

            • Payment ID = Balance Transaction ID

            • Other fields will be populated based on the parsed response

        • If the PPayment’s Payment Type = Bank AND Payment ID != EMPTY,

          • The PPayment record will be updated based on the retrieved details from the gateway portal where:

            • Payment Status = Based on the retrieved transaction status

            • Other fields will be populated based on the parsed response

    • When retrieving the settlement date of Payment Transaction records via the Get Payment Transaction Settlement batch (run batch immediately or by schedule),

      • If the Payment Transaction’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • If the Payment Transaction’s Payment Type = Bank AND Payment ID = EMPTY,

          • The Payment Transaction record will be updated based on the retrieved details from the gateway portal where:

            • Payment ID = Balance Transaction ID

            • Settlement Date (ASPHPP__Settlement_Date__c) = Based on the transaction settlement date

            • Settlement Date (ASPHPP__SettlementDate__c) = Based on the transaction settlement date

        • If the Payment Transaction’s Payment Type = Bank AND Payment ID != EMPTY,

          • The Payment Transaction record will be updated based on the retrieved details from the gateway portal where:

            • Settlement Date (ASPHPP__Settlement_Date__c) = Based on the transaction settlement date

            • Settlement Date (ASPHPP__SettlementDate__c) = Based on the transaction settlement date

        • If the Payment Transaction’s Payment Type = Credit Card,

          • The Payment Transaction record will be updated based on the retrieved details from the gateway portal where:

            • Settlement Date (ASPHPP__Settlement_Date__c) = Based on the transaction settlement date

            • Settlement Date (ASPHPP__SettlementDate__c) = Based on the transaction settlement date


  • Gateway

    • When creating/updating a Gateway record manually or via Data Loader,

      • If Record Type = Stripe,

        • When saving the Gateway record by clicking the Save button,

          • If Accept Bank = TRUE,

            • If Enable 3D Secure Payments = FALSE,

              • An error message will display: Please enable the 3D Secure Payments to allow support of Direct Debit.

            • If Enable 3D Secure Payments = TRUE,

              • If the Multi Currency does NOT contain AUD,

                • An error message will display: Support AUD currency to allow support of Direct Debit.

              • If the Multi Currency does contain AUD,

                • The gateway will be saved successfully

          • If Accept Bank = FALSE,

            • The gateway will be saved successfully


  • Payment Source

    • When tokenising Bank Account details using a Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

      • When saving the Payment Source record by clicking the Save button,

        • The provided Bank Account details will be tokenised (internally)

      • After the Payment Source record is successfully saved,

        • The SYSPPReference field is populated based on the returned Payment Method ID from the response

        • The Token field is populated based on the returned Customer ID from the response

    • When tokenising Bank Account details using a Stripe gateway record where Name of Remitter (3D Secure Payments) = FALSE,

      • When saving the Payment Source record by clicking the Save button,

        • The provided Bank Account details will NOT be tokenised

        • An error message will display: The 3D Secure Payments should be enabled to allow support of Direct Debit.

        • The Payment Source record will NOT be saved

  • Refund

    • When processing a full Bank payment refund via the Refund Payment button on the Payment Transaction record,

      • If the Payment Transaction’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • As the Bank payment refund will take a couple of days to be actually refunded, the refund will NOT be directly reflected in the Payment Transaction record

          • A cloned Opportunity record will be created based on the refunded Opportunity record

          • The Payment Transaction record will be updated where:

            • Payment Status = Pending

          • A Payment Refund record will be created where:

            • The updated Payment Transaction record where Payment Status = Pending is linked

            • The cloned Opportunity record is linked

            • Refund Status = Pending

          • A Refund Log record will be created where:

            • The updated Payment Transaction record where Payment Status = Pending is linked

            • The newly created Payment Refund record is linked

      • Assuming the Bank payment refund has actually been refunded, retrieve the refund status via the Get Refund Status button on the Payment Refund record under the Payment Transaction record,

        • If the payment refund processing is successful,

          • The Payment Transaction record will be updated where:

            • Payment Status = Refunded

          • The Payment Refund record will be updated where:

            • Refund Status = Refunded

        • If the payment refund processing is failed,

          • The Payment Transaction record will be updated where:

            • Payment Status = Failed

          • The Payment Refund record will be updated where:

            • Refund Status = Failed

    • When processing a partial Bank payment refund via the Refund Payment button on the Payment Transaction record,

      • If the Payment Transaction’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • As the Bank payment refund will take a couple of days to be actually refunded, the refund will NOT be directly reflected in the Payment Transaction record

          • A cloned Opportunity record will be created based on the refunded Opportunity record

          • The Payment Transaction record will be updated where:

            • Payment Status = Pending

          • A Payment Refund record will be created where:

            • The updated Payment Transaction record where Payment Status = Pending is linked

            • The cloned Opportunity record is linked

            • Refund Status = Pending

          • A Refund Log record will be created where:

            • The updated Payment Transaction record where Payment Status = Pending is linked

            • The newly created Payment Refund record is linked

      • Assuming the Bank payment refund has actually been refunded, retrieve the refund status via the Get Refund Status button on the Payment Refund record under the Payment Transaction record,

        • If the payment refund processing is successful,

          • The Payment Transaction record will be updated where:

            • Payment Status = Partial Refund

          • The Payment Refund record will be updated where:

            • Refund Status = Refunded

        • If the payment refund processing is failed,

          • The Payment Transaction record will be updated where:

            • Payment Status = Failed

          • The Payment Refund record will be updated where:

            • Refund Status = Failed

    • When processing a full Bank payment refund via the Refund Payment button on the PPayment record,

      • If the PPayment’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • As the Bank payment refund will take a couple of days to be actually refunded, the refund will NOT be directly reflected in the PPayment record

          • The PPayment record will be updated where:

            • Payment Status = Pending

          • A PRefund record will be created where:

            • The updated PPayment record where Payment Status = Pending is linked

            • Refund Status = Pending

          • A Refund Log record will be created where:

            • The updated PPayment record where Payment Status = Pending is linked

            • The newly created PRefund record is linked

      • Assuming the Bank payment refund has actually been refunded, retrieve the refund status via the Get Refund Status button on the PRefund record under the PPayment record,

        • If the payment refund processing is successful,

          • The PPayment record will be updated where:

            • Payment Status = Refunded

          • The PRefund record will be updated where:

            • Refund Status = Refunded

        • If the payment refund processing is failed,

          • The PPayment record will be updated where:

            • Payment Status = Failed

          • The PRefund record will be updated where:

            • Refund Status = Failed

    • When processing a partial Bank payment refund via the Refund Payment button on the PPayment record,

      • If the PPayment’s Gateway = Stripe gateway record where Name of Remitter (3D Secure Payments) = TRUE,

        • As the Bank payment refund will take a couple of days to be actually refunded, the refund will NOT be directly reflected in the PPayment record

          • The PPayment record will be updated where:

            • Payment Status = Pending

          • A PRefund record will be created where:

            • The updated PPayment record where Payment Status = Pending is linked

            • Refund Status = Pending

          • A Refund Log record will be created where:

            • The updated PPayment record where Payment Status = Pending is linked

            • The newly created PRefund record is linked

      • Assuming the Bank payment refund has actually been refunded, retrieve the refund status via the Get Refund Status button on the PRefund record under the PPayment record,

        • If the payment refund processing is successful,

          • The PPayment record will be updated where:

            • Payment Status = Partial Refund

          • The PRefund record will be updated where:

            • Refund Status = Refunded

        • If the payment refund processing is failed,

          • The PPayment record will be updated where:

            • Payment Status = Failed

          • The PRefund record will be updated where:

            • Refund Status = Failed

 

 Bug Fix

  • When updating Stripe gateway records where the Name Of Remitter is true

    • When disabling the 3D Secure payment and saving after hitting a validation in the gateway

      • The Name Of Remitter will be set to false.

  • When processing a payment in PPayment Record using Process Payment button

    • Payment ID will be populated based on gateway response