Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| v:2.0:transaction_xml_datafeed [2015/09/23 21:10] – [Hosted Gateways] foxyluke | v:2.0:transaction_xml_datafeed [2024/09/09 10:24] (current) – [Hosted Gateways] adam | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Transaction XML Datafeeds: Instant Transaction Notification ====== | ====== Transaction XML Datafeeds: Instant Transaction Notification ====== | ||
| + | ====== Transaction XML Datafeed ====== | ||
| + | |||
| + | <WRAP TIP> | ||
| + | __**NOTE: The Transaction XML Datafeed is deprecated**__ | ||
| + | Though this legacy datafeed works and will continue to function in the future, it will not see any new functionality. We recommend any new integrations requiring a feed of transactions use FoxyCart' | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| ===== An Overview of FoxyCart' | ===== An Overview of FoxyCart' | ||
| Line 10: | Line 19: | ||
| ===== DETAILS, BEST PRACTICES and TESTING Recommendations ===== | ===== DETAILS, BEST PRACTICES and TESTING Recommendations ===== | ||
| + | |||
| + | ==== Setting your datafeed URL ==== | ||
| + | |||
| + | The datafeed can be enabled for your store from the " | ||
| + | |||
| + | ==== Getting the datafeed decryption key ==== | ||
| + | |||
| + | The datafeed payload is encrypted with a key from your store, which you can access from the " | ||
| ==== Details ==== | ==== Details ==== | ||
| * When the datafeed is sent it **REQUIRES A RESPONSE OF '' | * When the datafeed is sent it **REQUIRES A RESPONSE OF '' | ||
| * The Transaction XML Datafeed is sent immediately, | * The Transaction XML Datafeed is sent immediately, | ||
| + | === Security and encryption === | ||
| + | * The datafeed is RC4-encrypted and URLencoded. As RC4 libraries are difficult to find, and URLencoding is odd, it's typically //far// easier to start with the example code in your language and/or system of choice at the [[integration: | ||
| ==== Testing ==== | ==== Testing ==== | ||
| When you're testing your custom XML integration, | When you're testing your custom XML integration, | ||
| Line 56: | Line 75: | ||
| Here is the current list of hosted gateways which take advantage of the status field: | Here is the current list of hosted gateways which take advantage of the status field: | ||
| - | * PayPal Express Checkout | + | * 2Checkout |
| - | * DIBS | + | * Adyen |
| - | * Ogone | + | |
| - | * Dwolla | + | |
| * Amazon | * Amazon | ||
| * BitPay | * BitPay | ||
| * Coinbase | * Coinbase | ||
| + | * Comgate | ||
| * Cybersource Secure Acceptance Web/Mobile | * Cybersource Secure Acceptance Web/Mobile | ||
| - | * Plug'n Pay Noble | + | * DIBS |
| + | * Dwolla | ||
| + | * MercadoPago | ||
| + | * Mollie | ||
| + | * Ogone | ||
| + | * PayPal Commerce Platform | ||
| + | * PayPal Express Checkout | ||
| + | * PayPal Plus | ||
| * PesaPal | * PesaPal | ||
| * Skrill | * Skrill | ||
| - | * Plug'n Pay SmartScreen | ||
| - | * 2Checkout | ||
| ===== Errors ===== | ===== Errors ===== | ||
| Line 77: | Line 100: | ||
| === What do I do now? === | === What do I do now? === | ||
| - | - Check the error: You can see the specific error that was triggered by your datafeed by viewing the errors page of your stores FoxyCart administration. Check out this page: http:// | + | - Check the error: You can see the specific error that was triggered by your datafeed by viewing the errors page of your stores FoxyCart administration. Check out this page: http:// |
| - Refeed the transaction: | - Refeed the transaction: | ||
| ===== Example XML ===== | ===== Example XML ===== | ||
| + | **NOTE:** The user agent that is used for datafeed requests to your endpoint is: | ||
| + | '' | ||
| + | |||
| ==== Non-MultiShip Store ==== | ==== Non-MultiShip Store ==== | ||
| - | <code xml> | + | <file xml> |
| <?xml version=" | <?xml version=" | ||
| < | < | ||
| Line 132: | Line 158: | ||
| < | < | ||
| < | < | ||
| - | < | + | < |
| < | < | ||
| < | < | ||
| < | < | ||
| - | < | + | < |
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| < | < | ||
| < | < | ||
| Line 205: | Line 241: | ||
| </ | </ | ||
| </ | </ | ||
| - | </code> | + | </file> |
| ==== MultiShip Store ==== | ==== MultiShip Store ==== | ||
| - | <code xml> | + | <file xml> |
| <?xml version=" | <?xml version=" | ||
| < | < | ||
| Line 416: | Line 452: | ||
| </ | </ | ||
| </ | </ | ||
| - | </code> | + | </file> |
| ===== Example Parsing Code ===== | ===== Example Parsing Code ===== | ||
| Line 694: | Line 730: | ||
| var key = ' | var key = ' | ||
| var decipher = crypto.createDecipheriv(' | var decipher = crypto.createDecipheriv(' | ||
| - | var message = decipher.update(encrypted) + decipher.final(); | + | var message = decipher.update(encrypted, ' |
| console.log(message); | console.log(message); | ||
| </ | </ | ||