Sales Receipt Process Credit Card Payment QBO V2

大憨熊 提交于 2019-12-13 08:57:07

问题


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>


回答1:



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




回答2:


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.



来源:https://stackoverflow.com/questions/16067969/sales-receipt-process-credit-card-payment-qbo-v2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!