1. Casual Payments
1.1. SOAP
1.1.1. Get Casual Payments by Payment Ref
1.1.1.1. Ideal Request/Response
1.1.1.1.1. https://oc-cert.services.debitsuccess.com/DsWebService/DSServices.svc/basic
1.1.1.1.2. Response 200 OK
1.1.1.2. A new field "Settlement date" should be visible in the response.
1.1.1.2.1. If the settlement is not Run it should display as "NULL"
1.1.1.2.2. If the Payout Date is present , should display the same .
1.1.1.2.3. Verify the settlement date is populated for already existing payments as well.
1.1.2. GET CASUAL PAYMENT TOKEN
1.1.2.1. Request
1.1.2.1.1. Business Account ID
1.1.2.1.2. Amount
1.1.2.1.3. Callback URL
1.1.2.1.4. Payment Note
1.1.2.1.5. Payment Ref
1.1.2.2. Response
1.1.2.2.1. Payment Form URL
1.1.2.2.2. Token
1.1.2.2.3. Valid To
1.1.2.2.4. Webhook Token
1.1.2.3. 200 OK
1.1.2.3.1. { "token": "KBpE6YKu", "webhookToken": "hnYzjH2S", "validTo":"2021-01-12TT01:59:59.000Z", "paymentFormURL": "https://oc-qa-sk.debitsuccess.com/PayNow/C/KBpE6YKu" }
1.1.2.4. Validations
1.1.2.4.1. 400 Bad Request
1.1.2.4.2. QUESTIONS
1.1.2.5. Common Error Codes
1.1.2.5.1. 401 Unauthorized
1.1.2.5.2. 403 Forbidden
1.1.2.5.3. 404 Not Found
1.1.2.5.4. 422 Unprocessable Entity
1.1.2.6. DB Checks
1.1.2.6.1. Paynow.CasualPaymentToken
1.1.2.6.2. One off Schedule
1.1.2.6.3. dbo.facilityaccount.EnabledforCreditCardPayments
1.1.2.7. ELK Checks
1.1.2.7.1. Transactions updated
1.1.2.7.2. call notes updated
1.1.2.7.3. expect to create One Off schedule
1.2. REST
1.2.1. GetCasualPaymentsByPaymentRef
1.2.1.1. Ideal Request/Response
1.2.1.1.1. Request
1.2.1.1.2. Response
1.2.1.2. Scenarios
1.2.1.2.1. positive Response validation
1.2.1.2.2. Negative Response Validation
1.2.1.2.3. Payment status
1.2.1.2.4. commissions
1.2.1.2.5. Payment Type
1.2.1.3. Common Error Codes
1.2.1.3.1. Must have token in order to run request Otherwise: 401 Unauthorized
1.2.1.3.2. If client does not have permission to businessAccountID provided then 403: Forbidden (for example: QK7662)
1.2.1.3.3. If the businessAccountID does not exist. 404: Not found(double check) remove
1.2.1.3.4. 500: Internal Server Error Lock database to test
1.2.1.3.5. 503: Service Unavailable Turn off CustomerServices in Application Pool to Test
2. GetPaymentTokenLink
2.1. Customer API
2.1.1. Paynow page
2.1.1.1. multiple Accounts same Adfitno AND FacilityAccount.CanCollectForClosedAccount = 1
2.1.1.1.1. ALL or more than 1 active account
2.1.1.1.2. 1 active and 1 closed Account (account.finishdate NOT Null) and Pendingcancellation = 0
2.1.1.1.3. 1 active and one is finishdate not null with pendingcancellation = 1
2.1.1.1.4. 1 closed account and one is finishdate not null with pendingcancellation = 1
2.1.1.1.5. No active account, all are closed account
2.1.1.1.6. Account doesn't exist
2.1.1.2. multiple Accounts same Adfitno AND FacilityAccount.CanCollectForClosedAccount = 0
2.1.1.2.1. ALL or more than 1 active account
2.1.1.2.2. 1 active and 1 closed Account (account.finishdate NOT Null)
2.1.1.2.3. 1 active and one is finishdate not null with pendingcancellation = 1
2.1.1.2.4. 1 closed account and one is finishdate not null with pendingcancellation = 1
2.1.1.2.5. No active account, all are closed account
2.1.1.3. :question: EnabledForCreditCardPayments is turn off facilityaccount.EnabledForCreditCardPayments = 0
2.1.1.3.1. Yes
2.1.1.3.2. No
2.1.1.4. BillNext Date related scenarios
2.1.1.4.1. BllNext date is today
2.1.1.4.2. BillNext date is in future
2.1.2. Multiple Requests
2.1.2.1. OnGoing
2.1.2.1.1. All the payments should be possible as of the implementation now
2.1.3. DB Validation
2.1.3.1. token
2.1.3.1.1. Check whether the same token we got in response got populated in the table
2.1.3.2. WebhookToken
2.1.3.2.1. Check whether the same WebhookToken we got in response got populated in the table
2.1.3.3. ValidTo
2.1.3.3.1. ColoumnName: "Status" Table Name : "dbo.PayNowToken"
2.1.3.3.2. Check whether the same ValidTo we got in response got populated in the table
2.1.3.3.3. Even If we did not use the url we received and it crossed the "ValidTo" value
2.1.3.4. PaymentFormURL
2.1.3.4.1. Check whether the status of the record got updated once we use the "PaymentFormURL"
2.1.3.5. SmokeTest
2.1.3.5.1. After a successful payment
2.1.3.6. paymentNote
2.1.3.6.1. ColoumnName: "PaymentNote" Table Name : "dbo.PayNowToken"
2.1.3.7. dbo.facilityaccount.EnabledforCreditCardPayments
2.1.3.7.1. = 1
2.1.3.7.2. = 0
2.1.4. 200: OK Response
2.1.4.1. { "token": "KBpE6YKu", "webhookToken": "hnYzjH2S", "validTo":"2021-01-12TT01:59:59.000Z", "paymentFormURL": "https://oc-qa-sk.debitsuccess.com/PayNow/T/KBpE6YKu" }
2.1.4.2. Multiple Requests
2.1.4.2.1. OnGoing
2.1.5. Response
2.1.5.1. token
2.1.5.1.1. Auto-generated token
2.1.5.2. WebhookToken
2.1.5.2.1. Auto-generated webhook token
2.1.5.3. ValidTo
2.1.5.3.1. The expiry date and time of the token
2.1.5.4. PaymentFormURL
2.1.5.4.1. URL where customer can make a payment or update payment details. It will have the token appended
2.1.6. Request
2.1.6.1. Amount
2.1.6.1.1. Required
2.1.6.2. CreateOneOffCharge
2.1.6.2.1. Required
2.1.6.3. PaymentNote
2.1.6.3.1. Optional*
2.1.6.4. CallbackURL
2.1.6.4.1. Required
2.1.6.5. Request URL structure
2.1.6.5.1. https://%env%.debitsuccess.com/customerservices/v1.0/accounts/%accountId%/PaymentTokens
2.1.7. Common Error Codes
2.1.7.1. If sending more requests than is allowed then 429: Too many requests
2.1.7.1.1. Configuration. To be confirmed with Dev
2.1.7.1.2. "message": "You have exceeded the maximum limit of request allowed. Please try your request again in a moment."
2.1.7.2. If client does not have permission to business provided then 403: Forbidden
2.1.7.2.1. "errorCode":"access_denied", "message":"Unable to process this request as you do not have access to the customer associated to this request."
2.1.7.3. 500: Internal Server Error Lock database to test
2.1.7.4. 503: Service Unavailable Turn off CustomerServices in Application Pool to Test
2.1.7.5. NotFound
2.1.7.5.1. 404 : If the provided resourse like AccountId was not found
2.1.7.6. Unprocessable Entity
2.1.7.6.1. 422 - When the resource provided is not supported
2.1.7.7. 401 : Error Code should be added
2.1.8. Validations 400 - Bad Request
2.1.8.1. AccountID in URL
2.1.8.1.1. not provided in URL
2.1.8.1.2. account doesn't exist/no access
2.1.8.1.3. multiple active account
2.1.8.1.4. 1 account is active and another one is PendingCancellation = 1
2.1.8.1.5. one is inactive/closed and another one is pendingcancellation = 1
2.1.8.1.6. No active account, all are closed account
2.1.8.1.7. to check for suspensions, DDstop
2.1.8.2. Amount
2.1.8.2.1. If Amount field is provide with an Invalid value Eg: 1235.2562
2.1.8.2.2. If Amount filed is not provided
2.1.8.2.3. if facilityaccount settings has max/min limit
2.1.8.2.4. If facility account settings does not have max/min limit
2.1.8.2.5. If facility account settings does not have max/min limit
2.1.8.2.6. If facility account settings does not have max/min limit
2.1.8.2.7. If facility account setting does not have max/min limit
2.1.8.2.8. If the amount provided is more than the out standing balance when account is set to Fixed term
2.1.8.3. createOneOffCharge
2.1.8.3.1. If the value for the field is not provided
2.1.8.3.2. If Account Under Gateway
2.1.8.4. PaymentNote
2.1.8.4.1. If CreateOneoffCharge is set to true and we did not provide the PaymentNote
2.1.8.4.2. If paymentNote provided exceeds more than 30 characters
2.1.8.4.3. Characters present in Payment Note
2.1.8.4.4. Provide a paymentNote with spaces in the beginning and end So that the payment note exceeding 30 characters including spaces.
2.1.8.5. CallbackURL
2.1.8.5.1. If value for call back url is not provided that is both emty string and field it self
2.1.8.5.2. If value provided exceeds 256 characters
2.1.8.5.3. If the value provided is not an url
2.1.8.5.4. If the value provided is 'http' request instead of 'https'
2.1.8.6. Multiple Requests
2.1.8.6.1. Fixed Term
2.1.9. Token
2.1.9.1. Must have token in order to run request Otherwise: 401 Unauthorized
2.1.9.1.1. "message": "Authorization has been denied for this request."
2.2. Web Service
2.2.1. Request
2.2.1.1. AccountReferenceNo
2.2.1.1.1. Required, if ExternalAccountReferenceNo is not supplied
2.2.1.2. ExternalAccountReferenceNo
2.2.1.2.1. Required, if AccountReferenceNo is not supplied
2.2.1.3. Amount
2.2.1.3.1. Required, if RequestType is RealTimePayment
2.2.1.4. CallbackURL
2.2.1.4.1. Required
2.2.1.5. CreateOneOffCharge
2.2.1.5.1. Required
2.2.1.6. PayMethodType
2.2.1.6.1. Required
2.2.1.7. PaymentNote
2.2.1.7.1. Required, if CreateOneOffCharge is true
2.2.1.8. RequestType
2.2.1.8.1. Required
2.2.2. Response
2.2.2.1. token
2.2.2.1.1. Auto-generated token
2.2.2.2. WebhookToken
2.2.2.2.1. Auto-generated webhook token
2.2.2.3. ValidTo
2.2.2.3.1. The expiry date and time of the token
2.2.2.4. PaymentFormURL
2.2.2.4.1. URL where customer can make a payment or update payment details. It will have the token appended
2.2.3. Negative Scenarios
2.2.3.1. Request Properties
2.2.3.1.1. PaymentNote
2.2.3.1.2. createOneOffCharge
2.2.3.1.3. CallbackURL
2.2.3.1.4. Amount
2.2.3.1.5. AccountReferenceNo
2.2.3.1.6. PayMethodType
2.2.3.1.7. RequestType
2.2.3.2. Alternate
2.2.3.2.1. Multiple Requests
2.2.3.2.2. :question: EnabledForCreditCardPayments is turn off facilityaccount.EnabledForCreditCardPayments = 0
2.2.3.2.3. BillNext Date related scenarios
2.2.3.2.4. :warning: dbo.facilityaccount.EnabledforCreditCardPayments
2.2.4. Positive Scenarios
3. Web Pages
3.1. Enroll an account without Payment Method
3.1.1. Credit Card payment flow with Token
3.1.1.1. Launch the payment token link generated for Credit Card payment method type, and enter the Credit Card details
3.1.1.1.1. Preferred payment method checkbox is **Checked**
3.1.1.1.2. Preferred payment method checkbox is **Unchecked**
3.1.2. Credit Card payment flow without Token (Consumer initiated payment)
3.1.2.1. Launch Pay Now url, and provide Adfit number & Last Name, and then click on Next button after selecting Credit Card payment method, and enter the Credit Card details
3.1.2.1.1. Preferred payment method checkbox is **Checked**
3.1.2.1.2. Preferred payment method checkbox is **Unchecked**
3.2. Enroll an account with Payment Method
3.2.1. Credit Card payment flow with Token
3.2.1.1. Launch the payment token link generated for Credit Card payment method type, and enter the Credit Card details
3.2.1.1.1. Use Existing Credit Card, and then enter CVV
3.2.1.1.2. Use New Credit Card, and enter CC details
3.2.2. Credit Card payment flow without Token (Consumer initiated payment)
3.2.2.1. Launch Pay Now url, and provide Adfit number & Last Name, and then click on Next button after selecting Credit Card payment method
3.2.2.1.1. Use Existing Credit Card, and enter amount & CVV
3.2.2.1.2. Use New Credit Card, and enter amount & CC details
3.3. Update Payment Method
3.3.1. Update Credit Card payment method
3.3.1.1. Launch the payment token link generated to update Credit Card payment method, and then enter the Credit Card details
3.3.1.1.1. Verify that the Terms and Conditions are displayed with the checkbox on Save Payment Details page
3.3.2. Update Bank Account payment method
3.3.2.1. Launch the payment token link generated to update Bank Account payment method, and then enter the Bank Account details
3.3.2.1.1. Verify that the Terms and Conditions are displayed with the checkbox on Save Payment Details page
3.3.3. Update CC & BA payment methods
3.3.3.1. Launch the payment token link generated to update Both payment methods
3.3.3.1.1. Credit Card flow
3.3.3.1.2. Bank Account flow
3.4. Bank Account payment flow (Consumer initiated payment)
3.4.1. Launch Pay Now url, and provide Adfit number & Last Name, and then click on Next button after selecting Direct Transfer payment method
3.4.1.1. Provide amount and email, and then click Next
3.4.1.1.1. Verify that user is able to make a BA payment successfully
3.5. Page Resolution
3.5.1. The Links Terminals don't support scrolling, so verify that the PayNow pages are correctly displayed in this resolution W: 832 H: 846
3.5.2. The Clubwise Terminals don't support scrolling, so verify that the PayNow pages are correctly displayed in this mobile resolution W: 400 H: 900
3.6. Browsers
3.6.1. Chrome
3.6.2. Firefox
3.6.3. Edge
3.6.4. IE7
3.6.4.1. In order to test these scenarios in IE7 browser, follow these steps: 1. Open Microsoft Edge and navigate to the website you want to view in Internet Explorer mode. 2. Click the three dots in the upper right corner of the browser window, and select Reload in Internet Explorer Mode. 3. Now open Run window, and go to %systemroot%\system32\f12\IEChooser.exe 4. Select the page uner testing, and then change the 'Document Mode Emulated' to IE7.