简体   繁体   中英

Sales Receipt Process Credit Card Payment QBO V2

I am trying to automatically create a sales receipt AND charge the credit card through QBOE. The APIs appear to indicate this is possible by setting the Detail->CreditCard->CreditChargeInfo. I would expect to receive some information in the CreditChargeResponse Element, however I receive no information in the response regarding the attempted CC charge. Furthermore a sales receipt is created and the proper payment method is selected but no CC information is saved under the payment and it does not appear that there is an attempt to charge the card provided in the below request. I'm left with the following questions

  1. Are there elements required that I am missing in order to retain and charge the CC within QBOE?
  2. Is there any documentation regarding the business logic required in order to process a CC using the IPP APIs?
  3. Can anyone provide a working example of how this request should look?

REQUEST :::

<SalesReceipt xmlns='http://www.intuit.com/sb/cdm/v2'>
<Header xmlns:ns3='http://www.intuit.com/sb/cdm/v2'>
    <ns3:TxnDate>2013-04-17-07:00</ns3:TxnDate>
    <ns3:TaxRate>9.2</ns3:TaxRate>
    <ns3:TaxAmt>0.138</ns3:TaxAmt>
    <ns3:CustomerId>1027</ns3:CustomerId>
    <ns3:TotalAmt>1.64</ns3:TotalAmt>
        <ShipAddr>
            <Line1>1234 Fake St SE</Line1>
            <City>Fake City</City>
            <CountrySubDivisionCode>WA</CountrySubDivisionCode>
            <PostalCode>98258</PostalCode>
        </ShipAddr>
    <ns3:PaymentMethodId>13</ns3:PaymentMethodId>
    <ns3:PaymentMethodName>MasterCard</ns3:PaymentMethodName>
    <ns3:Detail xmlns:ns5='http://www.intuit.com/sb/cdm/v2'>
         <ns5:CreditCard xmlns:ns7='http://www.intuit.com/sb/cdm/v2'>
            <ns7:CreditChargeInfo xmlns:ns8='http://www.intuit.com/sb/cdm/v2'>
                <ns8:Number>[ACTUALY_VALID_CC#]</ns8:Number>
                <ns8:Token>************1111</ns8:Token>
                <ns8:Type>MasterCard</ns8:Type>
                <ns8:NameOnAcct>Andrew L Reifers</ns8:NameOnAcct>
                <ns8:CcExpirMn>**</ns8:CcExpirMn>
                <ns8:CcExpirYr>**</ns8:CcExpirYr>
                <ns8:BillAddrStreet>1234 Fake St SE</ns8:BillAddrStreet>
                <ns8:ZipCode>98258</ns8:ZipCode>
                <ns8:Cvv>***</ns8:Cvv>
                <ns8:CCTxnMode>CardPresent</ns8:CCTxnMode>
                <ns8:CCTxnType>Charge</ns8:CCTxnType>
            </ns7:CreditChargeInfo>
        </ns5:CreditCard>
        </ns3:Detail>
</Header>
<Line xmlns:ns11='http://www.intuit.com/sb/cdm/v2'>
    <ns11:Id>1</ns11:Id>
    <ns11:Desc>Fake Sale Item</ns11:Desc>
    <ns11:Amount>1.50</ns11:Amount>
    <ns11:Taxable>true</ns11:Taxable>
    <ns11:ItemId>359</ns11:ItemId>
    <ns11:UnitPrice>0.50</ns11:UnitPrice>
    <ns11:Qty>3</ns11:Qty>
</Line>

RESPONSE :::

<SalesReceipt xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
<Id idDomain="QBO">7413</Id>
<SyncToken>0</SyncToken>
<MetaData>
    <CreateTime>2013-04-17T11:50:06-07:00</CreateTime>
    <LastUpdatedTime>2013-04-17T11:50:06-07:00</LastUpdatedTime>
</MetaData>
<Header>
    <DocNumber>4170</DocNumber>
    <TxnDate>2013-04-17-07:00</TxnDate>
    <CustomerId idDomain="QBO">1027</CustomerId>
    <SalesTaxCodeId idDomain="QBO">1</SalesTaxCodeId>
    <SalesTaxCodeName>IS_TAXABLE</SalesTaxCodeName>
    <SubTotalAmt>1.50</SubTotalAmt>
    <TaxRate>9.2</TaxRate>
    <TaxAmt>0.14</TaxAmt>
    <TotalAmt>1.64</TotalAmt>
    <ToBePrinted>false</ToBePrinted>
    <ToBeEmailed>false</ToBeEmailed>
    <ShipAddr>
        <Line1>1234 Fake St SE</Line1>
        <City>Fake City</City>
        <CountrySubDivisionCode>WA</CountrySubDivisionCode>
        <PostalCode>98258</PostalCode>
        <GeoCode>LAT=47.974638,LNG=-122.073567</GeoCode>
    </ShipAddr>
    <ShipMethodId idDomain="QBO"/>
    <DepositToAccountId idDomain="QBO">37</DepositToAccountId>
    <DepositToAccountName>Undeposited Funds</DepositToAccountName>
    <PaymentMethodId idDomain="QBO">13</PaymentMethodId>
    <PaymentMethodName>MasterCard</PaymentMethodName>
    <DiscountTaxable>true</DiscountTaxable>
</Header>
<Line>
    <Id>1</Id>
    <Desc>Fake Sale Item</Desc>
    <Amount>1.50</Amount>
    <Taxable>true</Taxable>
    <ItemId>359</ItemId>
    <UnitPrice>0.5</UnitPrice>
    <Qty>3</Qty>
</Line>


Unfortunately v2 does not support credit card, the annotation explains that it is a readonly field. There is no v2 workaround. The supported api is v3, if you would like to sign up for the v3 beta here: http://ippblog.intuit.com/blog/2013/03/application-for-early-access-to-quickbooks-api-v3.html

thanks
Jarred

The workaround for the V2 IPP APIs is to create an invoice rather than a sales receipt and then immediately accept payment for the invoice using the Payment API with an appropriate Credit Card and setting the ProcessPayment boolean to true. As Jared mentioned : It is not possible to apply this payment to a Sales Receipt.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM