Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel
borderColor#eeeeee
bgColorwhite
titleColorwhite
borderWidth1
titleBGColor#232323
borderStylesolid
titleIn this page

Table of Contents
depth2

Use the self-service payment facility IVR Secure Payments solution to enable callers to pay for goods and services over the phone without interacting with an agent. For more information about an overview of the self-service payment facility, see Self-service payment facilityIVR Secure Payments solution.

High-level call plan

The following visualization shows a high-level the key stages of an example call plan for the self-service IVR payment facilitysolution.

Image Modified

 You can optionally configure other applets to perform other actions including:

  • Welcoming the caller to the payment facility
  • Asking a caller to confirm their account details and balance
  • Checking the response from the payment system

To create a self-service payment call plan shown in the high-level example, perform the following tasks:

...

A more detailed description of an example IVR-based call plan is as follows:

1. VCC IVR collects non-PCI payment data

Before Vonage Contact Center can transfer (VCC) transfers a call to the platform's automated payment system, Vonage Contact Center VCC must retrieve some data about the caller. Such data might include the caller's account number, account balance, the caller's name and address, and so on. You can use  balance of the payment to be taken and basic caller details such as name and address. The data required to start a payment session depends on the payment provider. Use one or more of the following applets to retrieve the required data:

...

Configure the last applet you create at this stage to route to the Data Connector applet you create in step 2 (Route data to the automated payment system).

2.

...

 VCC IVR starts a payment session

Before Vonage Contact Center transfers the call to the automated system, Vonage Contact Center VCC must route the data retrieved in step 1 (Retrieve data to send to automated payment system) to the automated payment system. Configure a Data Connector applet to use a Web Service interface. For information about using a Web Service interface, see Retrieving data from and sending data to a Web Service. Send the Authorize the user and send the data in the request as a header or in the body.

Configure the response from the automated payment system to include two values that you need to transfer the call to the automated system:

  • The destination telephone number for the automated payment system. The Self Service Transfer to PCI applet in step 3 (Transfer call to the automated payment system) will use this number to transfer the call.
  • The CLID that identifies payment details the Vonage Contact Center has sent to the automated payment system. The Self Service Transfer to PCI applet in step 3 (Transfer call to the automated payment system) will use this number to locate the data sent to the automated payment system.

Vonage Contact Center stores these values in data sources. You define the names of the data sources in the Interaction Definition field in the Data Connector applet.

Configure the Data Connector applet to route the call on success to the Self Service Transfer to PCI applet you create in step 3 (Transfer call to the automated payment system).

...

body using two Data Connector applets:

  1. Authorize—to authorize the user to start the session. In the below example, a call is made to the VCC Authentication API. For more information on the Authentication API, see Authentication API.

    Code Block
    languagexml
    titleExample Interaction Definition
    <ApiInteraction>
      <Request>
        <Url>~~~REPLACE~~~/auth/connect/token</Url>
        <Method>POST</Method>
        <Headers>
        </Headers>
        <Body><![CDATA[grant_type=client_credentials&scope=globalpci&client_id=~~~REPLACE~~~&client_secret=~~~REPLACE~~~]]></Body>
      </Request>
      <Response>
        <Type>JSON</Type>
        <ResponseCodeDestination>AuthorizeResponseCode</ResponseCodeDestination>
        <Fields>
          <Field>
            <Locator>access_token</Locator>
            <Destination>AccessToken</Destination>
            <DataType>String</DataType>
          </Field>
          <Field>
            <Locator>token_type</Locator>
            <Destination>TokenType</Destination>
            <DataType>String</DataType>
          </Field>
        </Fields>
      </Response>
    </ApiInteraction>


  2. Start Session—to start the payment session. The fields that this Data Connector uses in the Payment Data section—for example first name, surname, city, amount, currency and so on—vary depending on the payment provider. The account configuration ID is supplied by Vonage.

    For the request to be processed successfully, you must include all fields mandatory to the payment provider in the Data Connector body.

    Code Block
    languagexml
    titleExample Interaction Definition
    <ApiInteraction>
      <Request>
        <Url>~~~REPLACE~~~/globalpci/v1/selfservicesession/</Url>
        <Method>POST</Method>
        <Headers>
          <Header>
            <Key>Authorization</Key>
            <Value>Bearer $(AccessToken)</Value>
          </Header>
          <Header>
            <Key>Content-Type</Key>
            <Value>application/json</Value>
          </Header>
        </Headers>
        <Body>{"AccountConfigurationId":"~~~REPLACE~~~", "CallGuid": "$(CallGuid)", "PaymentData": { "cardholderName":"$(~~~REPLACE~~~)","cardholderPostCode":"$(~~~REPLACE~~~)", "cardholder Address": "$(~~~REPLACE~~~)","merchantTxnRef":"$(~~~REPLACE~~~)", "amount":"$(~~~REPLACE~~~)" } }</Body>
      </Request>
      <Response>
        <Type>JSON</Type>
        <ResponseCodeDestination>GlobalPCIResponseCode</ResponseCodeDestination>
        <Fields>
          <Field>
            <Locator>dtmfFallbackNumber</Locator>
            <Destination>PCIPal|DtmfFallbackNumber</Destination>
            <DataType>String</DataType>
          </Field>
          <Field>
            <Locator>dtmfLinkId</Locator>
            <Destination>PCIPal|DtmfLinkId</Destination>
            <DataType>String</DataType>
          </Field>
          <Field>
            <Locator>sessionId</Locator>
            <Destination>GlobalPCI|SessionId</Destination>
            <DataType>String</DataType>
          </Field>
          <Field>
            <Locator>Message</Locator>
            <Destination>GlobalPCI|Message</Destination>
            <DataType>String</DataType>
          </Field>      
        </Fields>
      </Response>
    </ApiInteraction>


3. VCC IVR transfers the caller to the PCIPal-IVR

To transfer the call to the automated payment system, configure a Self Service Transfer to PCI applet to transfer the call to the automated payment system. For information about the Self Service Transfer to PCI applet, see Self Service Transfer to PCI applet.

Select the data sources that contain the values retrieved in step 2 (Route data to the automated payment system) 2.2 in the appropriate fields in the Transfer the Transfer To PCI Self Service Settings section:

  • Select PCIPal|DtmfFallbackNumber in Transfer destination number Data Source
  • Select PCIPal|DtmfLinkId in Transfer PCIPal LinkId Data Source

4.

...

Configure the Self Service Transfer to PCI applet to route the call to the Data Connector applet you create in step 4 (Retrieve payment result from the automated payment system).

4. Retrieve payment result from the automated payment system

...

PCIPal IVR securely collects payment details from the caller

This part of the call is based on terms agreed between the customer and PCI-Pal—a PCI DSS compliant payment solutions provider. The PCIPal IVR normally requires the following data:

  • Card number
  • Expiry date
  • 3-digit card verification code

5. PCIPal IVR transfers the caller back to the VCC IVR solution

The PCIPal IVR informs the caller whether the payment was successful and transfers them back to VCC. You can optionally transfer the payment results to the VCC IVR Data Connector applet as defined in the next step.

Optional steps

6. VCC IVR retrieves the results of the payment

If you want to route a customer differently based on a successful or failed payment, configure a Data Connector applet to retrieve the payment result from the automated payment system. Vonage Contact Center VCC stores these values in data sources. You define the names of the data sources in the Interaction Definition field.

Configure the Data Connector applet to route the call on success to the Data Router applet you create in step 5 (Route call according to payment result).

...

A session can have one of the following statuses:

  • Initial—session created, PCI data has not yet been collected
  • InProgress—session in progress, PCI data collection in progress
  • Finished—session processing finished
  • Error, TimeOut, ExpiredOnProviderSide—error states
Info

Sometimes the session status is delayed for a few seconds after the payment session ends.

In the example below, a call is made to the VCC Payment API to query the session status. For more information on the Payment API, see Payment API.

Code Block
languagexml
titleExample Interaction Definition
<ApiInteraction>
  <Request>
    <Url>~~~REPLACE~~~/globalpci/v1/session/$(GlobalPCI|SessionId)</Url>
    <Method>GET</Method>
    <Headers>
      <Header>
        <Key>Authorization</Key>
        <Value>Bearer $(AccessToken)</Value>
      </Header>
    </Headers>
    <Body></Body>
  </Request>
  <Response>
    <Type>JSON</Type>
    <ResponseCodeDestination>GlobalPCI|ResponseCode</ResponseCodeDestination>
    <Fields>
      <Field>
        <Locator>sessionState</Locator>
        <Destination>GlobalPCI|SessionState</Destination>
        <DataType>String</DataType>
      </Field>
    </Fields>
  </Response>
</ApiInteraction>


Info

Use the result for routing purposes only. The actual result of the payment might change, for example, due to the call being interrupted before returning to the VCC IVR.

7. VCC IVR processes the payment results and continues as required

Configure a Data Router applet to route the call based on the payment result retrieved in step 4 (Retrieve payment result from the automated payment system). You can configure, for example, the following scenarios:

  • Payment success. Use an Announcement applet to inform the caller that the payment was successful. End the call.
  • Payment failed. Use an Announcement applet to inform the caller that the payment failed. Use an IVR Collect Digit applet to ask the caller if they would like to try again.
  • Cancelled card. Use an Announcement applet to inform the caller that their card has been cancelled. Use an IVR Collect Digit applet to ask the caller if they would like to try again with a different card.
  • Any other result. Transfer to agent to handle the call.

...