Sorry for the delay in getting back to you.  Below is the code I used.  In particular take a look at how BuildOrderService sets up the certificate.
Response 
Public Class CLinkTransResponse
    Public ApprovalCode As String
    Public ErrorMessage As String
    Public OrderId As String
    Public TransactionID As String
    Public TransactionResult As String
    Public Sub New()
        ApprovalCode = ""
        ErrorMessage = ""
        OrderId = ""
        TransactionID = ""
        TransactionResult = ""
    End Sub
End Class
Settings
--XML File--
<?xml version="1.0" encoding="utf-8"?>
<LinkPointSettings>
  <OrderServiceUrl>https://ws.merchanttest.firstdataglobalgateway.com/fdggwsapi/services/order.wsdl</OrderServiceUrl>
  <P12File>WS{texthere}._.1.p12</P12File>
  <!-- From .auth.txt-->
  <username>WS{texthere}._.1</username>
  <password>{texthere}</password>
  <!-- From .p12.pw.txt-->
  <P12Pw>{texthere}</P12Pw>  
</LinkPointSettings>
--Code--  
Imports System.IO
Imports System.Web
Friend Class CLinkPointSettings
    Private sOrderServiceUrl As String
    Private sP12File As String
    Private sP12Pw As String
    Private susername As String
    Private spassword As String
    Public Sub New()
        ' Read XML Link Point Settings File
        Dim sXMLFile As String
        sXMLFile = HttpContext.Current.Server.MapPath("~/bin/xLinkPointSettings.xml")
        If Not File.Exists(sXMLFile) Then
            Return
        End If
        ' Read XML File
        Dim oXmlDoc As New System.Xml.XmlDocument
        oXmlDoc.Load(sXMLFile)
        sOrderServiceUrl = oXmlDoc.GetElementsByTagName("OrderServiceUrl")(0).InnerText
        sP12File = oXmlDoc.GetElementsByTagName("P12File")(0).InnerText
        sP12Pw = oXmlDoc.GetElementsByTagName("P12Pw")(0).InnerText
        susername = oXmlDoc.GetElementsByTagName("username")(0).InnerText
        spassword = oXmlDoc.GetElementsByTagName("password")(0).InnerText
    End Sub
    Public ReadOnly Property OrderServiceUrl() As String
        Get
            Return sOrderServiceUrl
        End Get
    End Property
    Public ReadOnly Property P12File() As String
        Get
            Return sP12File
        End Get
    End Property
    Public ReadOnly Property P12Pw() As String
        Get
            Return sP12Pw
        End Get
    End Property
    Public ReadOnly Property Username() As String
        Get
            Return susername
        End Get
    End Property
    Public ReadOnly Property Password As String
        Get
            Return spassword
        End Get
    End Property
End Class
Transaction 
Imports FirstDataGlobalGateway.WebReference
Imports System.Security.Cryptography.X509Certificates
Imports System.Net
Imports System.IO
Imports System.Web
Public Class CLinkTransaction
    Public Sub New()
        ServicePointManager.Expect100Continue = False
    End Sub
    ''' <summary>
    ''' charge credit card
    ''' </summary>
    ''' <param name="cardNumber">Credit Card Number</param>
    ''' <param name="expMonth">expiry month</param>
    ''' <param name="expYear">expiry year</param>
    ''' <param name="chargeTotal">charge total(including tax,vat etc)</param>
    ''' <param name="billingInfo">Client Billing Information</param>
    ''' <returns>Returns True/False Transaction result</returns>
    ''' <remarks></remarks>    
    Public Function ChargeCreditCard(ByVal cardNumber As String, ByVal expMonth As String, _
                                     ByVal expYear As String, _
                                     ByVal ccv As String, _
                                     ByVal chargeTotal As Decimal, _
                                     ByVal billingInfo As Billing, ByRef transResponse As CLinkTransResponse) As Boolean
        Dim oFDGGWSApiOrderService As FDGGWSApiOrderService = BuildOrderService()
        ' Create sale transaction request
        Dim oFDGGWSApiOrderRequest As New FDGGWSApiOrderRequest()
        Dim oTransaction As New Transaction()
        Dim oCreditCardTxType As New CreditCardTxType()
        oCreditCardTxType.Type = CreditCardTxTypeType.sale
        Dim oCreditCardData As New CreditCardData()
        oCreditCardData.ItemsElementName = New ItemsChoiceType() {ItemsChoiceType.CardNumber, ItemsChoiceType.ExpMonth, ItemsChoiceType.ExpYear}
        oCreditCardData.Items = New String() {cardNumber, expMonth, expYear}
        oTransaction.Items = New Object() {oCreditCardTxType, oCreditCardData}
        Dim oPayment As New Payment() With {.ChargeTotal = chargeTotal}
        '' Set Billing Information
        'Dim oBilling As New Billing()
        'oBilling.Address1 = billingInfo.Address1
        'oBilling.Address2 = billingInfo.Address2
        'oBilling.City = billingInfo.City
        'oBilling.Company = billingInfo.Company
        'oBilling.Country = billingInfo.Country
        'oBilling.CustomerID = billingInfo.CustomerID
        'oBilling.Email = billingInfo.Email
        'oBilling.Fax = billingInfo.Fax
        'oBilling.Name = billingInfo.Name
        'oBilling.Phone = billingInfo.Phone
        'oBilling.State = billingInfo.State
        'oBilling.Zip = billingInfo.Zip
        oTransaction.Billing = billingInfo
        oFDGGWSApiOrderRequest.Item = oTransaction
        Try
            ' Get Response
            Dim oFDGGWSApiOrderResponse As FDGGWSApiOrderResponse
            oFDGGWSApiOrderResponse = Nothing
            oFDGGWSApiOrderResponse = oFDGGWSApiOrderService.FDGGWSApiOrder(oFDGGWSApiOrderRequest)
            transResponse.ApprovalCode = oFDGGWSApiOrderResponse.ApprovalCode
            transResponse.TransactionResult = oFDGGWSApiOrderResponse.TransactionResult
            transResponse.ErrorMessage = oFDGGWSApiOrderResponse.ErrorMessage
            transResponse.OrderId = oFDGGWSApiOrderResponse.OrderId
            transResponse.TransactionID = oFDGGWSApiOrderResponse.TransactionID
            If (transResponse.TransactionResult.ToLower() <> "approved") Then
                Return False
            End If
            Return True
        Catch ex As System.Web.Services.Protocols.SoapException
            transResponse.ErrorMessage = ex.Message
            Return False
        End Try
    End Function
    ''' <summary>
    ''' Perfrom Refund
    ''' </summary>
    ''' <param name="orderID">Order ID</param>
    ''' <param name="chargeTotal">Charge Total (Including Taxes)</param>
    ''' <param name="transResponse">Transaction Response</param>
    ''' <returns>Returns True/False</returns>
    ''' <remarks></remarks>
    Public Function PerformRefund(ByVal orderID As String, ByVal chargeTotal As Decimal, ByRef transResponse As CLinkTransResponse) As Boolean
        Dim oFDGGWSApiOrderService As FDGGWSApiOrderService = BuildOrderService()
        ' Create sale transaction request
        Dim oFDGGWSApiOrderRequest As New FDGGWSApiOrderRequest()
        Dim oTransaction As New Transaction()
        Dim oCreditCardTxType As New CreditCardTxType()
        oCreditCardTxType.Type = CreditCardTxTypeType.return
        oTransaction.Items = New Object() {oCreditCardTxType}
        Dim oPayment As New Payment()
        oPayment.ChargeTotal = chargeTotal
        oTransaction.Payment = oPayment
        Dim oTransactionDetails As New TransactionDetails()
        oTransactionDetails.OrderId = orderID
        oTransaction.TransactionDetails = oTransactionDetails
        oFDGGWSApiOrderRequest.Item = oTransaction
        Try
            ' Get Response
            Dim oFDGGWSApiOrderResponse As FDGGWSApiOrderResponse
            oFDGGWSApiOrderResponse = Nothing
            oFDGGWSApiOrderResponse = oFDGGWSApiOrderService.FDGGWSApiOrder(oFDGGWSApiOrderRequest)
            transResponse.ApprovalCode = oFDGGWSApiOrderResponse.ApprovalCode
            transResponse.TransactionResult = oFDGGWSApiOrderResponse.TransactionResult
            transResponse.ErrorMessage = oFDGGWSApiOrderResponse.ErrorMessage
            transResponse.OrderId = oFDGGWSApiOrderResponse.OrderId
            transResponse.TransactionID = oFDGGWSApiOrderResponse.TransactionID
            If (transResponse.TransactionResult.ToLower() <> "approved") Then
                Return False
            End If
            Return True
        Catch ex As System.Web.Services.Protocols.SoapException
            transResponse.ErrorMessage = ex.Message
            Return False
        End Try
    End Function
    ''' <summary>
    ''' Check Sale Transaction
    ''' </summary>
    ''' <param name="teleCheckData">TeleCheckData</param>
    ''' <param name="chargeTotal">Charge Total</param>
    ''' <param name="transResponse">Transaction Response</param>
    ''' <returns>Returns True/False</returns>
    ''' <remarks></remarks>
    Public Function CheckSaleTransaction(ByVal teleCheckData As TeleCheckData, ByVal chargeTotal As Decimal, ByRef transResponse As CLinkTransResponse) As Boolean
        Dim oFDGGWSApiOrderService As FDGGWSApiOrderService = BuildOrderService()
        ' Create sale transaction request
        Dim oFDGGWSApiOrderRequest As New FDGGWSApiOrderRequest()
        Dim oTransaction As New Transaction()
        Dim oTeleCheckTxType As New TeleCheckTxType()
        oTeleCheckTxType.Type = CreditCardTxTypeType.sale
        oTransaction.Items = New Object() {oTeleCheckTxType, teleCheckData}
        Dim oPayment As New Payment()
        oPayment.ChargeTotal = chargeTotal
        oTransaction.Payment = oPayment
        oFDGGWSApiOrderRequest.Item = oTransaction
        Try
            ' Get Response
            Dim oFDGGWSApiOrderResponse As FDGGWSApiOrderResponse
            oFDGGWSApiOrderResponse = Nothing
            oFDGGWSApiOrderResponse = oFDGGWSApiOrderService.FDGGWSApiOrder(oFDGGWSApiOrderRequest)
            transResponse.ApprovalCode = oFDGGWSApiOrderResponse.ApprovalCode
            transResponse.TransactionResult = oFDGGWSApiOrderResponse.TransactionResult
            transResponse.ErrorMessage = oFDGGWSApiOrderResponse.ErrorMessage
            transResponse.OrderId = oFDGGWSApiOrderResponse.OrderId
            transResponse.TransactionID = oFDGGWSApiOrderResponse.TransactionID
            If (transResponse.TransactionResult.ToLower() <> "approved") Then
                Return False
            End If
            Return True
        Catch ex As System.Web.Services.Protocols.SoapException
            transResponse.ErrorMessage = ex.Message
            Return False
        End Try
    End Function
    ''' <summary>
    ''' Void Transaction
    ''' </summary>
    ''' <param name="orderID">Order ID</param>
    ''' <param name="chargeTotal">Charge Total (Including Taxes)</param>
    ''' <param name="transResponse">Transaction Response</param>
    ''' <returns>Returns True/False</returns>
    ''' <remarks></remarks>
    Public Function VoidTransaction(ByVal orderID As String, ByVal chargeTotal As Decimal, ByRef transResponse As CLinkTransResponse) As Boolean
        Dim oFDGGWSApiOrderService As FDGGWSApiOrderService = BuildOrderService()
        ' Create sale transaction request
        Dim oFDGGWSApiOrderRequest As New FDGGWSApiOrderRequest()
        Dim oTransaction As New Transaction()
        Dim oTeleCheckTxType As New TeleCheckTxType()
        oTeleCheckTxType.Type = CreditCardTxTypeType.void
        oTransaction.Items = New Object() {oTeleCheckTxType}
        Dim oPayment As New Payment()
        oPayment.ChargeTotal = chargeTotal
        oTransaction.Payment = oPayment
        Dim oTransactionDetails As New TransactionDetails()
        oTransactionDetails.OrderId = orderID
        oTransaction.TransactionDetails = oTransactionDetails
        oFDGGWSApiOrderRequest.Item = oTransaction
        Try
            ' Get Response
            Dim oFDGGWSApiOrderResponse As FDGGWSApiOrderResponse
            oFDGGWSApiOrderResponse = Nothing
            oFDGGWSApiOrderResponse = oFDGGWSApiOrderService.FDGGWSApiOrder(oFDGGWSApiOrderRequest)
            transResponse.ApprovalCode = oFDGGWSApiOrderResponse.ApprovalCode
            transResponse.TransactionResult = oFDGGWSApiOrderResponse.TransactionResult
            transResponse.ErrorMessage = oFDGGWSApiOrderResponse.ErrorMessage
            transResponse.OrderId = oFDGGWSApiOrderResponse.OrderId
            transResponse.TransactionID = oFDGGWSApiOrderResponse.TransactionID
            If (transResponse.TransactionResult.ToLower() <> "approved") Then
                Return False
            End If
            Return True
        Catch ex As System.Web.Services.Protocols.SoapException
            transResponse.ErrorMessage = ex.Message
            Return False
        End Try
    End Function
    Private Function BuildOrderService() As FDGGWSApiOrderService
        Dim olinkpoint As New CLinkPointSettings()
        ServicePointManager.Expect100Continue = False
        Dim oFDGGWSApiOrderService As New FDGGWSApiOrderService()
        ' Set WSDL URL
        oFDGGWSApiOrderService.Url = olinkpoint.OrderServiceUrl
        ' Configure Client Certificate
        oFDGGWSApiOrderService.ClientCertificates.Add(
                New X509Certificate(HttpContext.Current.Server.MapPath("~/bin/" + olinkpoint.P12File), olinkpoint.P12Pw))
        ' Initialize Netwokr Credentials
        Dim oNetworkCredentials As New NetworkCredential(olinkpoint.Username, olinkpoint.Password)
        ' Assign network creditials
        oFDGGWSApiOrderService.Credentials = oNetworkCredentials
        Return oFDGGWSApiOrderService
    End Function
End Class