{"id":43122819,"url":"https://github.com/payway-ar/sdk-php-ventaonline","last_synced_at":"2026-01-31T20:03:43.064Z","repository":{"id":20253107,"uuid":"89239532","full_name":"payway-ar/sdk-php-ventaonline","owner":"payway-ar","description":"SDK de BackEnd para Gateway de pago Payway","archived":false,"fork":false,"pushed_at":"2026-01-22T20:18:08.000Z","size":809,"stargazers_count":21,"open_issues_count":30,"forks_count":18,"subscribers_count":22,"default_branch":"master","last_synced_at":"2026-01-23T12:56:04.251Z","etag":null,"topics":["php","sdk"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/payway-ar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-04-24T12:50:06.000Z","updated_at":"2025-12-10T18:29:00.000Z","dependencies_parsed_at":"2023-02-13T01:31:32.777Z","dependency_job_id":"fcbed356-400f-47a6-9529-7ad0fea5a936","html_url":"https://github.com/payway-ar/sdk-php-ventaonline","commit_stats":{"total_commits":75,"total_committers":16,"mean_commits":4.6875,"dds":0.72,"last_synced_commit":"c2eea769b238266b5754d3467f2723cbe43891ec"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/payway-ar/sdk-php-ventaonline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payway-ar%2Fsdk-php-ventaonline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payway-ar%2Fsdk-php-ventaonline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payway-ar%2Fsdk-php-ventaonline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payway-ar%2Fsdk-php-ventaonline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/payway-ar","download_url":"https://codeload.github.com/payway-ar/sdk-php-ventaonline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payway-ar%2Fsdk-php-ventaonline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28952581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T18:30:42.805Z","status":"ssl_error","status_checked_at":"2026-01-31T18:30:19.593Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","sdk"],"created_at":"2026-01-31T20:03:23.742Z","updated_at":"2026-01-31T20:03:43.056Z","avatar_url":"https://github.com/payway-ar.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"inicio\"\u003e\u003c/a\u003e\nPayway SDK PHP\n===============\n\n### Aclaración\n### ¡IMPORTANTE! El parámetro amount no debe contener ni puntos ni comas, ya que los últimos dos dígitos siempre serán utilizados para la parte decimal del importe. Ejemplo: 1200 ARS ≈ AR$ 12,00\n\n|Monto| Ejemplo SDK |\n| ------------ | ------------ |\n| $1250,45 | 125045 |\n| $1.500.250,50 | 150025050  |\n| $3000,00 | 300000 |\n\n\nModulo para conexión con gateway de pago Payway\n  + [Introducción](#introduccion)\n    + [Alcance](#alcance)\n\t+ [TimeOut](#timeout)\n    + [Diagrama de secuencia](#diagrama-secuencia)\t\t\t\n  + [Instalación](#instalación)\n    + [Versiones de PHP soportadas](#versiones)\t\n    + [Manual de Integración](#manualintegracion)\n    + [Ambiente](#ambiente)\n  + [Uso](#uso)\n    + [Inicializar la clase correspondiente al conector](#initconector)\n    + [Operatoria del Gateway](#operatoria)\n      + [Health Check](#healthcheck)\n      + [Token](#token)\n      + [TokenCs](#tokenCs)\n      + [Ejecución del Pago](#payment)\n      + [Ejecución del Pago PCI](#pci)\n      + [Ejecución del pago PCI Tokenizado](#payment-pci-tokenizado)\n      + [Ejecución del pago comercio agregador](#payment-agregator)\n      + [Ejecución de pago simple con 3ds](#payment-simple-3ds)\n      + [Ejecución de Instruction 3DS](#instruction-3ds)\n      + [Captura del Pago](#capture)\n      + [Ejecución de pago offline](#pagooffline)\n        + [Pago Facil](#pf)\n        + [Rapipago](#rp)\n        + [Pago mis Cuentas](#pmc)\n        + [Caja de Pagos](#cp)\n        + [Cobro Express](#ce)\n      + [Formulario de Pago](#getvalidateform)  \n      + [Listado de Pagos](#getallpayments)\n      + [Información de un Pago](#getpaymentinfo)\t\n      \t+ [Información adicional de tarjeta](#infoadicionaltarjeta)\n      + [Anulación / Devolución Total de Pago](#refund)\n      + [Anulación de Devolución Total](#deleterefund)\n      + [Devolución Parcial de un Pago](#partialrefund)\n      + [Anulación de Devolución Parcial](#deletepartialrefund)\n    + [Tokenizacion de tarjetas de crédito](#tokenizaciontarjeta)\n      + [Listado de tarjetas tokenizadas](#listadotarjetastokenizadas)\t\n      + [Ejecucion de pago tokenizado](#pagotokenizado)\n      + [Eliminacion de tarjeta tokenizada](#eliminartarjetatokenizada)\n    + [Integración con Cybersource](#cybersource)\n      + [Retail](#retail)\n      + [Ticketing](#ticketing)\n      + [Digital Goods](#digital-goods)  \n      + [Services](#services)\n      + [Travel](#travel)\t\n  + [Tablas de referencia](#tablasreferencia)\n    + [Códigos de Medios de Pago](#códigos-de-medios-de-pago)\n\t  + [Divisas Aceptadas](#divisasa)\n    + [Provincias](#provincias)\n  + [Errores](#errores)\n    + [Manejo de errores por Cybersource](#errorescs)\n    + [Errores de marca](#erroresmarca)\n\n\u003ca name=\"introduccion\"\u003e\u003c/a\u003e\n## Introducción\nEl flujo de una transacción a través de las **sdks** consta de dos pasos, la **generaci\u0026oacute;n de un token de pago** por parte del cliente y el **procesamiento de pago** por parte del comercio. Existen sdks espec\u0026iacute;ficas para realizar estas funciones en distintos lenguajes que se detallan a continuaci\u0026oacute;n:\n\n+ **Generaci\u0026oacute;n de un token de pago.**  Se utiliza alguna de las siguentes **sdks front-end** :\n  + [sdk Javascript](https://github.compayway-ar/sdk-javascript-ventaonline)\n+ **Procesamiento de pago.**  Se utiliza alguna de las siguentes **sdks back-end** :\n  + [sdk Java](https://github.com/payway-ar/sdk-java-ventaonline)\n  + [sdk PHP](https://github.com/payway-ar/sdk-php-ventaonline)\n  + [sdk .Net](https://github.com/payway-ar/sdk-net-ventaonline)\n  + [sdk Node](https://github.com/payway-ar/sdk-node-ventaonline)\n\n\n## Alcance\nLa **sdk PHP** provee soporte para su **aplicaci\u0026oacute;n back-end**, encargandose de la comunicaci\u0026oacute;n del comercio con la **API Payway** utilizando su **API Key privada**\u003csup\u003e1\u003c/sup\u003e y el **token de pago** generado por el cliente.\n\nPara generar el token de pago, la aplicaci\u0026oacute;n cliente realizar\u0026aacute; con **Payway** a trav\u0026eacute;s de alguna de las siguentes **sdks front-end**:\n+ [sdk Javascript](https://github.com/payway-ar/sdk-javascript-ventaonline)\n\n![imagen de sdks](./docs/img/DiagramaSDKs.png)\u003c/br\u003e\n\n[Volver al inicio](#alcance)\n\u003ca name=\"timeout\"\u003e\u003c/a\u003e\n## TimeOut\nEl tiempo standard de Timeout para una transaccion es de **6 segundos**. Puede existir casos excepcionales, mucho flujo de transacciones concurrentes , en el cual el timeout puede variar entre** 20 a 30 segundos**. Si el cliente decide configurar un timeout menor al indicado, deberá anular las transacciones en estado \"Autorizadas\" de manera manual.\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#inicio)\n\u003ca name=\"diagrama-secuencia\"\u003e\u003c/a\u003e\n## Diagrama de secuencia\n\nEl flujo de una transacción a través de las sdks consta de dos pasos, a saber:\n\nsdk front-end: Se realiza una solicitud de token de pago con la Llave de Acceso pública (public API Key), enviando los datos sensibles de la tarjeta (PAN, mes y año de expiración, código de seguridad, titular, y tipo y número de documento) y obteniéndose como resultado un token que permitirá realizar la transacción posterior.\n\nsdk back-end: Se ejecuta el pago con la Llave de Acceso privada (private API Key), enviando el token generado en el Paso 1 más el identificador de la transacción a nivel comercio, el monto total, la moneda y la cantidad de cuotas.\n\nA continuación, se presenta un diagrama con el Flujo de un Pago.\n\n![imagen de configuracion](./docs/img/FlujoPago.png)\u003c/br\u003e\n\n[Volver al inicio](#diagramasecuencia)\n\n\n## Instalación\nEl SDK se encuentra disponible para descargar desde [Github](https://github.com/payway-ar/sdk-php-ventaonline) o desde composer con el siguiente comando:\n\n```php\n  \ncomposer require decidir2/php-sdk \n\n```\n\nUna vez instalo el SDK dentro del proyecto, es necesario tener descomentada la extension=php_curl.dll en el php.ini, ya que para la conexión al gateway se utiliza la clase curl del API de PHP.\n\u003cbr /\u003e\t\t\n\n[Volver al inicio](#inicio)\n\n\u003ca name=\"versiones\"\u003e\u003c/a\u003e\n## Versiones de PHP soportadas\n\nLa versión implementada de la SDK, está testeada para las versiones PHP desde 5.3.\n\n[Volver al inicio](#inicio)\n\n\n\u003ca name=\"manualintegracion\"\u003e\u003c/a\u003e\n## Manual de Integración\n\nSe encuentra disponible la documentación **[Manual de Integración Payway](https://documentacion-ventasonline.payway.com.ar/docs/sdk-s/ddw69qltg92u5-alcance#manual-de-integraci%c3%b3n)** para su consulta online, en este se detalla el proceso de integración. En el mismo se explican los servicios y operaciones disponibles, con ejemplos de requerimientos y respuestas, aquí sólo se ejemplificará la forma de llamar a los distintos servicios utilizando la presente SDK.\n\n\u003ca name=\"ambiente\"\u003e\u003c/a\u003e\n## Ambientes\n\nEl sdk PHP permite trabajar con los ambientes de Sandbox y Producción de Payway. El ambiente se debe definir al instanciar el SDK.\n\n```php\n\t\n$ambient = \"test\";//valores posibles: \"test\" , \"prod\" o \"qa\"\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\t\t\n\n```\n\n[Volver al inicio](#inicio)\n\n\u003ca name=\"uso\"\u003e\u003c/a\u003e\n## Uso\n\n\u003ca name=\"initconector\"\u003e\u003c/a\u003e\n### Inicializar la clase correspondiente al conector.\n\nEl SDK-PHP permite trabajar con los ambientes de desarrollo y de producción de Payway.\nEl ambiente se debe instanciar como se indica a continuación.\nInstanciación de la clase `Decidir\\Connector`\nLa misma recibe como parámetros la public key o private key provisto por Payway para el comercio y el ambiente en que se trabajara.\n```php\n\n$keys_data = array('public_key' =\u003e 'e9cdb99fff374b5f91da4480c8dca741',\n           'private_key' =\u003e '92b71cf711ca41f78362a7134f87ff65');\n\n$ambient = \"test\";//valores posibles: \"test\" , \"prod\" o \"qa\"\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n```\n*Nota:* La sdk incluye un ejemplo de prueba completo el cual se debe acceder desde el navegador, allí permitirá configurar las distintas opciones.\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#inicio)\n\u003ca name=\"operatoria\"\u003e\u003c/a\u003e\n\n## Operatoria del Gateway\n\u003ca name=\"healthcheck\"\u003e\u003c/a\u003e\n### Health Check\nEste recurso permite conocer el estado actual de la API RESTful de Payway.\n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n$response = $connector-\u003ehealthcheck()-\u003egetStatus();\n$response-\u003egetName();\n$response-\u003egetVersion();\n$response-\u003egetBuildTime();\n```\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\n\u003ca name=\"token\"\u003e\u003c/a\u003e\n### Token\nEste recurso permite obtener token de pago.\n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient, \"\", \"\", \"SDK-PHP\");\n$data = array(\n      \"card_number\" =\u003e \"4509790112684851\",\n      \"card_expiration_month\" =\u003e \"12\",\n      \"card_expiration_year\" =\u003e \"30\", \n      \"card_holder_name\" =\u003e \"Barb\",\n      \"card_holder_birthday\" =\u003e \"24071990\",\n      \"card_holder_door_number\" =\u003e 505,\n      \"security_code\" =\u003e \"123\",\n      \"card_holder_identification\" =\u003e array(\n          \"type\" =\u003e \"dni\",\n          \"number\" =\u003e \"29123456\"));\n       \n$response = $connector-\u003etoken()-\u003etoken($data);\n$respuesta = new TokenResponse();\n\n$respuesta-\u003esetId($response-\u003eget('id',null));\n$respuesta-\u003esetStatus($response-\u003eget('status',null));\n$respuesta-\u003esetCardNumberLength($response-\u003eget('card_number_length', null));\n$respuesta-\u003esetDateCreated($response-\u003eget('date_created', null));\n$respuesta-\u003esetBin($response-\u003eget('bin', null));\n$respuesta-\u003esetLastFourDigits($response-\u003eget('last_four_digits', null));\n$respuesta-\u003esetSecurityCodeLength($response-\u003eget('security_code_length', null));\n$respuesta-\u003esetExpirationMonth($response-\u003eget('expiration_month', null));\n$respuesta-\u003esetExpirationYear($response-\u003eget('expiration_year', null));\n$respuesta-\u003esetDateDue($response-\u003eget('date_due', null));\n$cardHolder = $response-\u003eget('cardholder', null);\n$respuesta-\u003esetType($cardHolder['identification']['type']);\n$respuesta-\u003esetNumber($cardHolder['identification']['number']);\n$respuesta-\u003esetName($cardHolder['name']);\n```\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"tokenCs\"\u003e\u003c/a\u003e\n### TokenCS\nEste recurso permite obtener token de pago operando con Cybersource.\n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient, \"\", \"\", \"SDK-PHP\");\n$data = array(\n      \"card_number\" =\u003e \"4509790112684851\",\n      \"card_expiration_month\" =\u003e \"12\",\n      \"card_expiration_year\" =\u003e \"30\", \n      \"card_holder_name\" =\u003e \"Barb\",\n      \"card_holder_birthday\" =\u003e \"24071990\",\n      \"card_holder_door_number\" =\u003e 505,\n      \"security_code\" =\u003e \"123\",\n      \"card_holder_identification\" =\u003e array(\n        \"type\" =\u003e \"dni\",\n        \"number\" =\u003e \"29123456\"\n      ),\n      \"fraud_detection\"=\u003e array(\n          \"device_unique_identifier\"=\u003e \"12345\"\n      ),\n      \"ip_address\"=\u003e \"192.168.100.1\");\n       \n$response = $connector-\u003etoken()-\u003etokenCs($data);\n$respuesta = new TokenResponse();\n\n$respuesta-\u003esetId($response-\u003eget('id',null));\n$respuesta-\u003esetStatus($response-\u003eget('status',null));\n$respuesta-\u003esetCardNumberLength($response-\u003eget('card_number_length', null));\n$respuesta-\u003esetDateCreated($response-\u003eget('date_created', null));\n$respuesta-\u003esetBin($response-\u003eget('bin', null));\n$respuesta-\u003esetLastFourDigits($response-\u003eget('last_four_digits', null));\n$respuesta-\u003esetSecurityCodeLength($response-\u003eget('security_code_length', null));\n$respuesta-\u003esetExpirationMonth($response-\u003eget('expiration_month', null));\n$respuesta-\u003esetExpirationYear($response-\u003eget('expiration_year', null));\n$respuesta-\u003esetDateDue($response-\u003eget('date_due', null));\n$cardHolder = $response-\u003eget('cardholder', null);\n$respuesta-\u003esetType($cardHolder['identification']['type']);\n$respuesta-\u003esetNumber($cardHolder['identification']['number']);\n$respuesta-\u003esetName($cardHolder['name']);\n\n```\n\n\u003ca name=\"payment\"\u003e\u003c/a\u003e\n### Ejecución del Pago\nUna vez generado y almacenado el token de pago, se deberá ejecutar la solicitud de pago más el token previamente generado.\nAdemás del token de pago y los parámetros propios de la transacción, el comercio deberá identificar la compra con el site_transaction_id.\n\n*Aclaracion* : amount es un campo Long, los ultimos dos numeros se considerarán como decimales.\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|id  | id usuario que esta haciendo uso del sitio, pertenece al campo customer (ver ejemplo)  |Condicional, si no se enviar el Merchant este campo no se envia  |Sin validacion   | user_id: \"marcos\",  |\n|email  | email del usuario que esta haciendo uso del sitio (se utiliza para tokenizacion), pertenece al campo customer(ver ejemplo)  |Condicional   |Sin validacion   | email: \"user@mail.com\",  |\n|ip_address  | IP del comercio | Condicional |Sin validacion   | ip_address: \"192.168.100.2\",  |\n|site_transaction_id   | nro de operacion  |SI   | Alfanumerico de hasta 39 caracteres  | \"prueba 1\"  |\n| site_id  |Site relacionado a otro site, este mismo no requiere del uso de la apikey ya que para el pago se utiliza la apikey del site al que se encuentra asociado.   | NO  | Se debe encontrar configurado en la tabla site_merchant como merchant_id del site_id  | 28464385  |\n| token  | token generado en el primer paso  |SI   |Alfanumerico de hasta 36 caracteres. No se podra ingresar un token utilizado para un  pago generado anteriormente.   | \"\"  |\n| payment_method_id  | id del medio de pago  |SI  |El id debe coincidir con el medio de pago de tarjeta ingresada.Se valida que sean los primeros 6 digitos de la tarjeta ingresada al generar el token.    | payment_method_id: 1,  |\n|bin   |primeros 6 numeros de la tarjeta   |SI |Importe minimo = 1 ($0.01)  |bin: \"456578\"  |\n|amount  |importe del pago   |  SI| Importe Maximo = 922337203685 ($9223372036.85) |amount=20000  |\n|currency   |moneda   | SI|Valor permitido: ARS, USD   | ARS  |\n|installments   |cuotas del pago   | SI|\"Valor minimo = 1 Valor maximo = 99\"     |  installments: 1 |\n|payment_type   |forma de pago   | SI| Valor permitido: single / distributed\n|\"single\"   |\n|establishment_name   |nombre de comercio |Condicional   | Alfanumerico de hasta 25 caracteres |  \"Nombre establecimiento\"  |\n\n#### Ejemplo\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"customer\" =\u003e array(\n                        \"id\" =\u003e \"customer\", \n                        \"email\" =\u003e \"user@mail.com\",\n                        \"ip_address\" =\u003e \"192.168.100.2\"\n                        ),\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 500,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"establishment_name\" =\u003e \"Nombre establecimiento\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array()\n    );\n\ntry {\n\t$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n\t$response-\u003egetId();\n\t$response-\u003egetToken();\n\t$response-\u003egetUser_id();\n\t$response-\u003egetPayment_method_id();\n\t$response-\u003egetBin();\n\t$response-\u003egetAmount();\n\t$response-\u003egetCurrency();\n\t$response-\u003egetInstallments();\n\t$response-\u003egetPayment_type();\n\t$response-\u003egetDate_due();\n\t$response-\u003egetSub_payments();\n\t$response-\u003egetStatus();\n\t$response-\u003egetStatus_details()-\u003eticket\n\t$response-\u003egetStatus_details()-\u003ecard_authorization_code\n\t$response-\u003egetStatus_details()-\u003eaddress_validation_code\n\t$response-\u003egetStatus_details()-\u003eerror\n\t$response-\u003egetDate();\n\t$response-\u003egetEstablishment_name();\n\t$response-\u003egetFraud_detection();\n\t$response-\u003egetAggregate_data();\n\t$response-\u003egetSite_id();\n} catch( \\Exception $e ) {\n\tvar_dump($e-\u003egetData());\n}\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"pci\"\u003e\u003c/a\u003e\n#### Transacción PCI\nA continuaci\u0026oacute;n se muestra un ejemplo con una transacci\u0026oacute;n pci sin [Cybersource](#cybersource).\n\n*Aclaracion* : amount es un campo long el cual representa el valor en centavos.\n\n#### Ejemplo\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"customer\" =\u003e array(\n                        \"id\" =\u003e \"customer\", \n                        \"email\" =\u003e \"user@mail.com\",\n                        \"ip_address\" =\u003e \"192.168.100.2\"\n                        ),\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 500,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"establishment_name\" =\u003e \"Nombre establecimiento\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array(),\n      \"card_data\" =\u003e array(\n\t\"card_number\" =\u003e \"4509790112684851\",\n        \"card_expiration_month\" =\u003e \"12\",\n        \"card_expiration_year\" =\u003e \"30\", \n        \"card_holder_name\" =\u003e \"Barb\",\n        \"security_code\" =\u003e \"123\",\n        \"card_holder_identification\" =\u003e array(\n\t        \"type\" =\u003e \"dni\",\n\t        \"number\" =\u003e \"29123456\"\n        ),\n      ),\n      \"aggregate_data\" =\u003e array(\n\t\"name\" =\u003e \"\"\n      ),\n    );\n\ntry {\n\t$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n\t$response-\u003egetId();\n\t$response-\u003egetToken();\n\t$response-\u003egetUser_id();\n\t$response-\u003egetPayment_method_id();\n\t$response-\u003egetBin();\n\t$response-\u003egetAmount();\n\t$response-\u003egetCurrency();\n\t$response-\u003egetInstallments();\n\t$response-\u003egetPayment_type();\n\t$response-\u003egetDate_due();\n\t$response-\u003egetSub_payments();\n\t$response-\u003egetStatus();\n\t$response-\u003egetStatus_details()-\u003eticket\n\t$response-\u003egetStatus_details()-\u003ecard_authorization_code\n\t$response-\u003egetStatus_details()-\u003eaddress_validation_code\n\t$response-\u003egetStatus_details()-\u003eerror\n\t$response-\u003egetDate();\n\t$response-\u003egetEstablishment_name();\n\t$response-\u003egetFraud_detection();\n\t$response-\u003egetAggregate_data();\n\t$response-\u003egetSite_id();\n} catch( \\Exception $e ) {\n\tvar_dump($e-\u003egetData());\n}\n```\n\n\u003ca name=\"payment-pci-tokenizado\"\u003e\u003c/a\u003e\n### Ejecución del pago PCI Tokenizado\n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient, \"\", \"\", \"SDK-PHP\");\n\n$data = array(\n    \"site_transaction_id\" =\u003e \"tokeniz\" . rand(),\n    \"establishment_name\" =\u003e \"Store\",\n    \"spv\" =\u003e null,\n    \"bin\" =\u003e \"4507990\",\n    \"payment_method_id\" =\u003e 1,\n    \"amount\" =\u003e 50000,\n    \"currency\" =\u003e \"ARS\",\n    \"installments\" =\u003e 1,\n    \"description\" =\u003e \"PCI pago tokenizado\",\n    \"payment_type\" =\u003e \"single\",\n    \"sub_payments\" =\u003e [],\n    \"fraud_detection\" =\u003e array(\n        \"send_to_cs\" =\u003e false\n    ),\n    \"card_data\" =\u003e array(\n        \"card_holder_name\" =\u003e \"Luis Perez\",\n        \"last_four_digits\" =\u003e \"1112\",\n        \"card_holder_birthday\" =\u003e \"01012000\",\n        \"card_holder_door_number\" =\u003e 666,\n        \"card_holder_identification\" =\u003e array(\n            \"type\" =\u003e \"dni\",\n            \"number\" =\u003e \"41371431\"\n        ),\n        \"security_code\" =\u003e \"666\",\n        \"card_expiration_month\" =\u003e \"03\",\n        \"card_expiration_year\" =\u003e \"30\"\n    ),\n    \"cardholder_auth_required\" =\u003e false,\n    \"is_tokenized_payment\" =\u003e true,\n    \"token_card_data\" =\u003e array(\n        \"token\" =\u003e \"4507990000004905\",\n        \"eci\" =\u003e \"05\",\n        \"cryptogram\" =\u003e \"cryptogram_123467890\"\n    ),\n    \"aggregate_data\" =\u003e array(\n        \"indicator\" =\u003e \"1\",\n        \"identification_number\" =\u003e \"30598910045\",\n        \"bill_to_pay\" =\u003e \"Decidir_Test\",\n        \"bill_to_refund\" =\u003e \"Decidir_Test\",\n        \"merchant_name\" =\u003e \"EMPRESA TEST DECIDIR\",\n        \"street\" =\u003e \"Sub Cm Pedro Arabere\",\n        \"number\" =\u003e \"123456\",\n        \"postal_code\" =\u003e \"C1437FBE\",\n        \"category\" =\u003e \"50044\",\n        \"channel\" =\u003e \"005\",\n        \"geographic_code\" =\u003e \"C1437\",\n        \"product\" =\u003e \"productoXXproductoXX\",\n        \"city\" =\u003e \"Ciudad de Buenos Aires\",\n        \"merchant_id\" =\u003e \"decidir_Agregador\",\n        \"province\" =\u003e \"B\",\n        \"country\" =\u003e \"ARG\",\n        \"merchant_email\" =\u003e \"qa@decidir.com\",\n        \"merchant_phone\" =\u003e \"+541135211111\",\n        \"origin_country\" =\u003e \"032\",\n        \"merchant_url\" =\u003e \"hola@gmail.com\",\n        \"aggregator_name\" =\u003e \"payfact\",\n        \"gateway_id\" =\u003e \"sarasaPayway\",\n\t\t\"seller_id\": \"seller_123\"\n    )\n);\n\ntry {\n\t$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n} catch( \\Exception $e ) {\n\tvar_dump($e-\u003egetData());\n}\n```\n\u003ca name=\"payment-agregator\"\u003e\u003c/a\u003e\n\n### Ejecución de pago de comercio agregador\n\nEl objeto `aggregate_data` se utiliza para informar los datos del sub-comercio dentro de una operación realizada por un **comercio agregador**.\n\n| Campo                   | Tipo    | Obligatorio | Descripción                                                                 | Observaciones |\n|-------------------------|---------|-------------|------------------------------------------------------------------------------|---------------|\n| product                 | string  | Condicional | Producto asociado a la transacción                                          | — |\n| origin_country          | string  | Condicional | País de origen del comercio (código numérico)                               | Ej: `\"032\"` |\n| merchant_id             | string  | Condicional | Identificador del comercio                                                  | — |\n| merchant_url            | string  | Condicional | URL del comercio                                                             | — |\n| aggregator_name         | string  | Condicional | Nombre del agregador                                                         | Ej: `\"payfact\"` |\n| gateway_id              | string  | Condicional | Identificador del gateway asociado                                          | Ej: `\"payway\"` |\n| indicator               | string  | Condicional | Indicador del tipo de operación                                             | — |\n| identification_number  | string  | Condicional | Número de identificación fiscal del comercio                                | Cuit / RUT |\n| bill_to_pay             | string  | Condicional | Referencia de la factura a pagar                                             | — |\n| bill_to_refund          | string  | Condicional | Referencia de la factura a devolver                                          | — |\n| merchant_name           | string  | Condicional | Nombre comercial del sub-comercio                                           | — |\n| street                  | string  | Condicional | Calle del comercio                                                           | — |\n| number                  | string  | Condicional | Número de dirección                                                         | — |\n| postal_code             | string  | Condicional | Código postal                                                                | — |\n| category                | string  | Condicional | Categoría del comercio                                                      | Código MCC |\n| channel                 | string  | Condicional | Canal de venta                                                               | Ej: `\"005\"` ecommerce |\n| geographic_code         | string  | Condicional | Código geográfico                                                            | — |\n| city                    | string  | Condicional | Ciudad                                                                       | — |\n| province                | string  | Condicional | Provincia                                                                    | — |\n| country                 | string  | Condicional | País                                                                         | Ej: `\"Argentina\"` |\n| merchant_email          | string  | Condicional | Email del comercio                                                           | — |\n| merchant_phone          | string  | Condicional | Teléfono del comercio                                                        | — |\n| seller_id               | string  | **Solo Amex** | **Identificador del vendedor asignado por American Express**                | **Se envía únicamente cuando `payment_method_id` es Amex** |\n\n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient, \"\", \"\", \"SDK-PHP\");\n\n$data = array(\n   \t\"site_transaction_id\" =\u003e \"12042017_20\",\n\t\"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n    \"payment_method_id\" =\u003e 1,\n    \"bin\" =\u003e \"450799\",\n    \"amount\" =\u003e 396010,\n    \"currency\" =\u003e \"ARS\",\n    \"installments\" =\u003e 12,\n    \"payment_type\" =\u003e \"single\",\n    \"establishment_name\" =\u003e \"Test Conexiones\",\n    \"sub_payments\" =\u003e array(),\n    \"aggregate_data\" =\u003e array(\n        \"indicator\" =\u003e \"1\",\n        \"identification_number\" =\u003e \"30598910045\",\n        \"bill_to_pay\" =\u003e \"Decidir_Test\",\n        \"bill_to_refund\" =\u003e \"Decidir_Test\",\n        \"merchant_name\" =\u003e \"EMPRESA TEST DECIDIR\",\n        \"street\" =\u003e \"Sub Cm Pedro Arabere\",\n        \"number\" =\u003e \"123456\",\n        \"postal_code\" =\u003e \"C1437FBE\",\n        \"category\" =\u003e \"50044\",\n        \"channel\" =\u003e \"005\",\n        \"geographic_code\" =\u003e \"C1437\",\n        \"product\" =\u003e \"productoXXproductoXX\",\n        \"city\" =\u003e \"Ciudad de Buenos Aires\",\n        \"merchant_id\" =\u003e \"decidir_Agregador\",\n        \"province\" =\u003e \"B\",\n        \"country\" =\u003e \"ARG\",\n        \"merchant_email\" =\u003e \"qa@decidir.com\",\n        \"merchant_phone\" =\u003e \"+541135211111\",\n        \"origin_country\" =\u003e \"032\",\n        \"merchant_url\" =\u003e \"hola@gmail.com\",\n        \"aggregator_name\" =\u003e \"payfact\",\n        \"gateway_id\" =\u003e \"sarasaPayway\",\n\t\t\"seller_id\": \"seller_123\"\n    )\n);\n\ntry {\n\t$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n} catch( \\Exception $e ) {\n\tvar_dump($e-\u003egetData());\n}\n```\n\n\u003ca name=\"payment-simple-3ds\"\u003e\u003c/a\u003e\n\n### Ejecución de pago simple con 3DS\nEn este caso se necesita agregar el flag \"cardholder_auth_required\" en true y se le debe pasar el objeto \"auth_3ds_data\". \n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient, \"\", \"\", \"SDK-PHP\");\n\n$data = array(\n    \"site_transaction_id\" =\u003e \"{{site_transaction_id}}\",\n    \"token\" =\u003e \"{{token}}\",\n    \"payment_method_id\" =\u003e 1,\n    \"bin\" =\u003e 450799,\n    \"amount\" =\u003e 100,\n    \"currency\" =\u003e \"ARS\",\n    \"installments\" =\u003e 1,\n    \"payment_type\" =\u003e \"single\",\n    \"sub_payments\" =\u003e [],\n    \"cardholder_auth_required\" =\u003e true,\n    \"auth_3ds_data\" =\u003e array(\n        \"device_type\" =\u003e \"BROWSER\",\n        \"accept_header\" =\u003e \"application/json\",\n        \"user_agent\" =\u003e \"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)Gecko/20100101\",\n        \"ip\" =\u003e \"1.12.123.255\",\n        \"java_enabled\" =\u003e true,\n        \"language\" =\u003e \"es\",\n        \"color_depth\" =\u003e \"32\",\n        \"screen_height\" =\u003e 28,\n        \"screen_width\" =\u003e 4,\n        \"time_zone_offset\" =\u003e 570\n    )\n);\n\ntry {\n\t$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n} catch( \\Exception $e ) {\n\tvar_dump($e-\u003egetData());\n}\n```\n\n\u003ca name=\"instruction-3ds\"\u003e\u003c/a\u003e\n\n### Ejecución de instruction 3DS\nSe agrega el objeto con los atributos id e instruction_value. \n\n```php\n\n$data = array(\n    \"id\" =\u003e \"{{id}}\",\n    \"instruction_value\" =\u003e \"{{instruction_value}}\",\n);\n$connector = new \\Decidir\\Connector($keys_data, $ambient, \"\", \"\", \"SDK-PHP\");\n\ntry{\n\t$response = $connector-\u003ethreedsChallenge()-\u003ethreedsChallenge($data);\n} catch( \\Exception $e ) {\n\tvar_dump($e-\u003egetData());\n}\n```\n\n\n\n\u003ca name=\"capture\"\u003e\u003c/a\u003e\n\n### Captura del Pago\nPara el caso de la operatoria de transacción en dos pasos, la captura o confirmación del pago puede realizarse de la siguiente manera.\n\n*Aclaracion* : amount es un campo Long, los ultimos dos numeros se considerarán como decimales.\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|amount  |importe del pago   |  SI| Importe Maximo = 922337203685 ($9223372036.85) |amount=20000  |\n\n\n#### Ejemplo\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n$data = array(\n      \"amount\" =\u003e 500,\n    );\n\ntry {\n\t$response = $connector-\u003epayment()-\u003eCapturePayment($data);\n} catch( \\Exception $e ) {\n\tvar_dump($e-\u003egetData());\n}\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"pagooffline\"\u003e\u003c/a\u003e\n\n## Ejecución de pago offline\nUna vez generado y almacenado el token de Pago Offline, se deberá ejecutar la solicitud de pago utilizando el token previamente generado. Además del token de pago y los parámetros propios de la transacción, el comercio deberá identificar la compra con el site_transaction_id.\n\n*Aclaracion* : amount es un campo Long, los ultimos dos numeros se considerarán como decimales.\n\n\u003ca name=\"pf\"\u003e\u003c/a\u003e\n### Pago Facil\n\n![imagen de sdks](./docs/img/me-rapipago-pagofacil.jpg)\u003c/br\u003e\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|site_transaction_id  |Identificador único para la operación |  SI| 8 dígitos | site_transaction_id: \"170518_35\"  |\n|token  |Token generado en el primer paso |  SI|  36 dígitos,variable|  token: \"03508514-1578-4140-ba02-6bdd65e2af95\" |\n|payment_method_id  | id del tipo de metodo de Pago Offline  |  SI|  Dos dígitos |  payment_method_id: \"26\"|\n|amount  | Monto de la operación. 8 números enteros  |  SI|  8 dígitos,variable |  amount: \"1100\"|\n|currency  | Son los días que existen entre el 1er y 2do vencimiento  |  SI|  3 letras |  currency: \"ARS\"|\n|payment_type  | Tipo de pago  |  SI|  Letras |  payment_type: \"single\"|\n|email  | email del usuario que esta haciendo uso del sitio  |Condicional   |Sin validacion   | email: \"user@mail.com\",  |\n|invoice_expiration  | Fecha en que vence el cupón  |  SI|  Formato AAMMDD |  invoice_expiration: \"191123\"|\n|cod_p3  | Son los dias que existen entre el 1º y 2º vencimiento de la factura. |  SI|  2,fijo (\"00\" si la factura tiene no tiene 2° vencimientos)|  invoice_expiration: \"191123\"|\n|cod_p4  | Días después del 1º vencimiento y hasta que el cliente pueda abonar  |  SI|  3,fijo |  cod_p4: \"123\"|\n|client  | Codigo Cliente  |  SI|   8,fijo |  client: \"12345678\"|\n|surcharge  | Recargo por vencimiento del plazo  |  SI|  7,variable (5 digitos enteros y 2 decimales)|  surcharge: \"10.01\"|\n|payment_mode  | Tipo de metodo de pago  |  SI|  Strin \"offline\" |  payment_mode: \"offline\"|\n\n\n#### Ejemplo\n```php\n\n$data = array(\n  \"site_transaction_id\" =\u003e \"230518_41\",\n  \"token\" =\u003e \"92a95793-3321-447c-8795-8aeb8a8ac067\",\n  \"payment_method_id\" =\u003e 25,\n  \"amount\" =\u003e 1000,\n  \"currency\" =\u003e \"ARS\",\n  \"payment_type\" =\u003e \"single\",\n  \"email\" =\u003e \"user@mail.com\",\n  \"invoice_expiration\" =\u003e \"191123\",\n  \"cod_p3\" =\u003e \"12\",\n  \"cod_p4\" =\u003e \"134\",\n  \"client\" =\u003e \"12345678\",\n  \"surcharge\" =\u003e 10.01,\n  \"payment_mode\" =\u003e \"offline\"\n);\n\n$response = $connector-\u003epayment()-\u003eExecutePaymentOffline($data);\n\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"rp\"\u003e\u003c/a\u003e\n### Rapipago\n\n![imagen de sdks](./docs/img/me-rapipago-pagofacil.jpg)\u003c/br\u003e\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|site_transaction_id  |Identificador único para la operación |  SI| 8 dígitos | site_transaction_id: \"170518_35\"  |\n|token  |Token generado en el primer paso |  SI|  36 dígitos,variable|  token: \"03508514-1578-4140-ba02-6bdd65e2af95\" |\n|payment_method_id  | id del tipo de metodo de Pago Offline  |  SI|  Dos dígitos |  payment_method_id: \"26\"|\n|amount  | Monto de la operación. 8 números enteros  |  SI|  8 dígitos,variable |  amount: \"1100\"|\n|currency  | Son los días que existen entre el 1er y 2do vencimiento  |  SI|  3 letras |  currency: \"ARS\"|\n|payment_type  | Tipo de pago  |  SI|  Letras |  payment_type: \"single\"|\n|email  | email del usuario que esta haciendo uso del sitio  |Condicional   |Sin validacion   | email: \"user@mail.com\",  |\n|invoice_expiration  | Fecha en que vence el cupón  |  SI|  Formato AAMMDD |  invoice_expiration: \"191123\"|\n|cod_p3  | Son los dias que existen entre el 1º y 2º vencimiento de la factura. |  SI|  2,fijo (\"00\" si la factura tiene no tiene 2° vencimientos)|  invoice_expiration: \"191123\"|\n|cod_p4  | Días después del 1º vencimiento y hasta que el cliente pueda abonar  |  SI|  3,fijo |  cod_p4: \"123\"|\n|client  | Codigo Cliente  |  SI|   8,fijo |  client: \"12345678\"|\n|surcharge  | Recargo por vencimiento del plazo  |  SI|  7,variable (5 digitos enteros y 2 decimales)|  surcharge: \"10.01\"|\n|payment_mode  | Tipo de metodo de pago  |  SI|  Strin \"offline\" |  payment_mode: \"offline\"|\n\n\n#### Ejemplo\n```php\n\n$data = array(\n  \"site_transaction_id\" =\u003e \"230518_38\",\n  \"token\" =\u003e \"8e190c82-6a63-467e-8a09-9e8fa2ab6215\",\n  \"payment_method_id\" =\u003e 26,\n  \"amount\" =\u003e 1000,\n  \"currency\" =\u003e \"ARS\",\n  \"payment_type\" =\u003e \"single\",\n  \"email\" =\u003e \"user@mail.com\",\n  \"invoice_expiration\" =\u003e \"191123\",\n  \"cod_p3\" =\u003e \"12\",\n  \"cod_p4\" =\u003e \"134\",\n  \"client\" =\u003e \"12345678\",\n  \"surcharge\" =\u003e 10.01,\n  \"payment_mode\" =\u003e \"offline\"\n);\n\n$response = $connector-\u003epayment()-\u003eExecutePaymentOffline($data);\n\n```\n\n\u003ca name=\"pmc\"\u003e\u003c/a\u003e\n### Pago mis Cuentas\n\n![imagen de sdks](./docs/img/me-pmc.jpg)\u003c/br\u003e\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|site_transaction_id  |Identificador único para la operación |  SI| 8 dígitos | site_transaction_id: \"170518_35\"  |\n|token  |Token generado en el primer paso |  SI|  36 dígitos,variable|  token: \"03508514-1578-4140-ba02-6bdd65e2af95\" |\n|payment_method_id  | id del tipo de metodo de Pago Offline  |  SI|  Dos dígitos |  payment_method_id: \"26\"|\n|amount  | Monto de la operación. 8 números enteros  |  SI|  8 dígitos,variable |  amount: \"1100\"|\n|currency  | Son los días que existen entre el 1er y 2do vencimiento  |  SI|  3 letras |  currency: \"ARS\"|\n|payment_type  | Tipo de pago  |  SI|  Letras |  payment_type: \"single\"|\n|email  | email del usuario que esta haciendo uso del sitio  |Condicional   |Sin validacion   | email: \"user@mail.com\",  |\n|invoice_expiration  | Fecha en que vence el cupón  |  SI|  Formato AAMMDD |  invoice_expiration: \"191123\"|\n|bank_id  | Id de banco de la operacion  |  SI|  String \"offline\" |  bank_id: 1 |\n\n\n#### Ejemplo\n```php\n\n$data = array(\n  \"site_transaction_id\" =\u003e \"220518_39\",\n  \"token\" =\u003e \"9ae1d130-8c89-4c3b-a267-0e97b88fedd0\",\n  \"payment_method_id\" =\u003e 41,\n  \"amount\" =\u003e 1000,\n  \"currency\" =\u003e \"ARS\",\n  \"payment_type\" =\u003e \"single\",\n  \"email\" =\u003e \"user@mail.com\",\n  \"bank_id\" =\u003e 1,\n  \"sub_payments\" =\u003e 100,\n  \"invoice_expiration\" =\u003e \"191123\"\n);\n\n$response = $connector-\u003epayment()-\u003eExecutePaymentOffline($data);\n\n```\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"cp\"\u003e\u003c/a\u003e\n### Cobro Express\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|site_transaction_id  |Identificador único para la operación |  SI| 8 dígitos | site_transaction_id: \"170518_35\"  |\n|token  |Token generado en el primer paso |  SI|  36 dígitos,variable|  token: \"03508514-1578-4140-ba02-6bdd65e2af95\" |\n|payment_method_id  | id del tipo de metodo de Pago Offline  |  SI|  Dos dígitos |  payment_method_id: \"26\"|\n|amount  | Monto de la operación. 8 números enteros  |  SI|  8 dígitos,variable |  amount: \"1100\"|\n|currency  | Son los días que existen entre el 1er y 2do vencimiento  |  SI|  3 letras |  currency: \"ARS\"|\n|payment_type  | Tipo de pago  |  SI|  Letras |  payment_type: \"single\"|\n|email  | email del usuario que esta haciendo uso del sitio  |Condicional   |Sin validacion   | email: \"user@mail.com\",  |\n|invoice_expiration  | Fecha en que vence el cupón  |  SI|  Formato AAMMDD |  invoice_expiration: \"191123\"|\n|second_invoice_expiration  | Segunda fecha de vencimiento del cupón  |  SI|  Formato AAMMDD |  second_invoice_expiration: \"191123\"|\n|cod_p3  | Son los dias que existen entre el 1º y 2º vencimiento de la factura. |  SI|  2,fijo (\"00\" si la factura tiene no tiene 2° vencimientos)|  invoice_expiration: \"191123\"|\n|client  | Codigo Cliente  |  SI|   8,fijo |  client: \"12345678\"|\n|surcharge  | Recargo por vencimiento del plazo  |  SI|  7,variable (5 digitos enteros y 2 decimales)|  surcharge: \"10.01\"|\n|payment_mode  | Tipo de metodo de pago  |  SI|  Strin \"offline\" |  payment_mode: \"offline\"|\n\n\n#### Ejemplo\n```php\n\n$data = array(\n  \"site_transaction_id\" =\u003e \"160518_42\",\n  \"token\" =\u003e \"3df26771-67ab-4a8e-91e2-f1e0b0c559f7\",\n  \"payment_method_id\" =\u003e 51,\n  \"amount\" =\u003e 1000,\n  \"currency\" =\u003e \"ARS\",\n  \"payment_type\" =\u003e \"single\",\n  \"email\" =\u003e \"user@mail.com\",\n  \"invoice_expiration\" =\u003e \"191123\",\n  \"second_invoice_expiration\" =\u003e \"191123\",\n  \"cod_p3\" =\u003e \"1\",\n  \"cod_p4\" =\u003e \"134\",\n  \"client\" =\u003e \"12345678\",\n  \"surcharge\" =\u003e 10.01,\n  \"payment_mode\" =\u003e \"offline\"\n);\n\n$response = $connector-\u003epayment()-\u003eExecutePaymentOffline($data);\n\n```\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"ce\"\u003e\u003c/a\u003e\n### Cobro Express\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|site_transaction_id  |Identificador único para la operación |  SI| 8 dígitos | site_transaction_id: \"170518_35\"  |\n|token  |Token generado en el primer paso |  SI|  36 dígitos,variable|  token: \"03508514-1578-4140-ba02-6bdd65e2af95\" |\n|payment_method_id  | id del tipo de metodo de Pago Offline  |  SI|  Dos dígitos |  payment_method_id: \"26\"|\n|amount  | Monto de la operación. 8 números enteros   |  SI|  8 dígitos,variable |  amount: \"1100\"|\n|currency  | Son los días que existen entre el 1er y 2do vencimiento  |  SI|  3 letras |  currency: \"ARS\"|\n|payment_type  | Tipo de pago  |  SI|  Letras |  payment_type: \"single\"|\n|email  | email del usuario que esta haciendo uso del sitio  |Condicional   |Sin validacion   | email: \"user@mail.com\",  |\n|invoice_expiration  | Fecha en que vence el cupón  |  SI|  Formato AAMMDD |  invoice_expiration: \"191123\"|\n|second_invoice_expiration  | Segunda fecha de vencimiento del cupón  |  SI|  Formato AAMMDD |  second_invoice_expiration: \"191123\"|\n|cod_p3  | Son los dias que existen entre el 1º y 2º vencimiento de la factura. |  SI|  2,fijo (\"00\" si la factura tiene no tiene 2° vencimientos)|  invoice_expiration: \"191123\"|\n|cod_p4  | Días después del 1º vencimiento y hasta que el cliente pueda abonar  |  SI|  3,fijo |  cod_p4: \"123\"|\n|client  | Codigo Cliente  |  SI|   8,fijo |  client: \"12345678\"|\n|surcharge  | Recargo por vencimiento del plazo  |  SI|  7,variable (5 digitos enteros y 2 decimales)|  surcharge: \"10.01\"|\n|payment_mode  | Tipo de metodo de pago  |  SI|  Strin \"offline\" |  payment_mode: \"offline\"|\n\n\n#### Ejemplo\n```php\n\n$data = array(\n  \"site_transaction_id\" =\u003e \"160518_42\",\n  \"token\" =\u003e \"3df26771-67ab-4a8e-91e2-f1e0b0c559f7\",\n  \"payment_method_id\" =\u003e 51,\n  \"amount\" =\u003e 1000,\n  \"currency\" =\u003e \"ARS\",\n  \"payment_type\" =\u003e \"single\",\n  \"email\" =\u003e \"user@mail.com\",\n  \"invoice_expiration\" =\u003e \"191123\",\n  \"second_invoice_expiration\" =\u003e \"191123\",\n  \"cod_p3\" =\u003e \"1\",\n  \"cod_p4\" =\u003e \"134\",\n  \"client\" =\u003e \"12345678\",\n  \"surcharge\" =\u003e 10.01,\n  \"payment_mode\" =\u003e \"offline\"\n);\n\n$response = $connector-\u003epayment()-\u003eExecutePaymentOffline($data);\n\n```\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\n### Formulario de Pago\n\n\u003ca name=\"getvalidateform\"\u003e\u003c/a\u003e\n\nEste servicio permite integrar un formulario de pago en el comercio, invocando el recurso /checkout-payment-button/link, el cual devuelve un enlace personalizado para el formulario de pago del comercio, listo para ser utilizado y completar el flujo de pago.\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo   |\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n|site.site_id  | Merchant  | Condicional | Numérico de 20 digitos   | id: \"12365436\"  |\n|site.template.id  | Id de formulario de pago, el id es unico para cada comercio y es generado previamente por Decidir | SI | Numérico de 20 digitos  |   |\n|site.transaction_id  | Numero de operación  | SI | Alfanumérico  de 40 digitos |   |\n|customer.id  | d que identifica al usuario  | NO | Alfanumérico  de 40 digitos |   |\n|customer.email | Email del cliente. Se envía información del pago  | Es requerido si se desea realizar el envío de mails | Alfanumérico  de 40 digitos | email:\"user@mail.com\"  |\n|payment.amount  | Monto de la compra  | SI | Numérico |   |\n|payment.currency  | Tipo de moneda  | NO | Letras | \"ARS\" o \"USD\"   |\n|payment.payment_method_id  | Id del medio de pago  | SI | Númerico |   |\n|payment.bin  | Primeros 6 dígitos de la tarjeta  | NO | Númerico |   |\n|payment.installments  | Cantidad de cuotas  | SI | Númerico |   |\n|payment.payment_type  | Indica si es simple o distribuida  | SI | Valores posibles: \"single\", \"distributed\" |   |\n|payment.sub_payments  | Se utiliza para pagos distribuidos. Informa los subpayments  | Es requerido si el\npago es distribuido por monto, ya que si es por porcentaje toma los configurados desde Adm Sites (SAC) | NA |   |\n|success_url  | Url a donde se rediccionará una vez que el usuario finalice la operación desde la página de feedback  | SI | Númerico |   |\n|cancel_url  | Url donde se rediccionará si el cliente quiere cancelar el formulario  | SI | NA |   |\n|redirect_url  | Url en la cual se enviaran los datos de la operación una vez finalizada la misma para que el comercio pueda capturarlos y mostrarlos como lo desee  | Es requerido en los casos donde no informe el campo \"success_url\" | NA |   |\n\n#### Ejemplo\n\n```php\n\n//Para este servicio es necesario enviar el \"public_key\" y \"private_key\".\n$keys_data = array(\n            'public_key' =\u003e '5cde7e72ea1e430db94d4312346a3744',\n            'private_key' =\u003e '12332asdjhasdjh223jkh4j1j2j2jh3jh2',\n          );\n\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n$data = array(\n  \"site\" =\u003e array(\n        \"site_id\" =\u003e \"03101980\", //opcional, si no se tiene Merchant no se envía este atributo\n        \"transaction_id\" =\u003e \"Swatch op\",\n        \"template\" =\u003e array(\n            \"id\" =\u003e 5 \n        ),\n  ),\n  \"customer\" =\u003e array(\n        \"id\" =\u003e \"001\",\n        \"email\" =\u003e \"user@mail.com\",\n  ),\n  \"payment\" =\u003e array(\n        \"amount\" =\u003e 1203,\n        \"currency\" =\u003e \"ARS\",\n        \"payment_method_id\" =\u003e 1,\n        \"bin\" =\u003e \"45979\",\n        \"installments\" =\u003e 1,\n        \"payment_type\" =\u003e \"single\",\n        \"sub_payments\" =\u003e array()\n  ),\n  \"public_apikey\" =\u003e $keys_data['public_key'], // en este tiene que venir el valor del public_key\n  \"success_url\" =\u003e \"https://shop.swatch.com/es_ar/\", //si no se informa el \"redirect_url\" es requerido\n  \"cancel_url\" =\u003e \"https://swatch.com/api/result\",\n  \"redirect_url\" =\u003e \"\", //si no se informa el \"success_url\" es requerido\n  \"fraud_detection\" =\u003e array() //si no esta activado cybersource no enviar este atributo\n);\n\n$response = $connector-\u003epayment()-\u003eGenerateLink($data);\n\n```\n\n#### Respuesta servicio Checkout\n\n```php\n$response = $connector-\u003epayment()-\u003eGenerateLink($data);\n```\n```json\n{\n    \"payment_link\": \"https://developers.decidir.com/web/checkout/1C1DAA54DE5D2244E385F3859685B82A\"\n}\n```\n\n#### Formulario renderizado\n\nUna vez generado el link de pago, el formulario se visualiza accediendo a la URL devuelta por el servicio:\n\nSandbox: https://developers.decidir.com/web/checkout/{payment_id}\n\nProducción: https://ventasonline.payway.com.ar/web/checkout/{payment_id}\n\n![Formulario de pago](docs/img/checkout-example.png)\u003c/br\u003e\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"getallpayments\"\u003e\u003c/a\u003e\n\n### Listado de Pagos\n\nMediante este recurso, se genera una solicitud de listado de pagos.\nEste recurso admite la posibilidad de agregar los filtros adicionales:\n\n- (opcional) offset: desplazamiento en los resultados devueltos. Valor por defecto = 0.\n- (opcional) pageSize: cantidad máxima de resultados retornados. Valor por defecto = 50.\n- (opcional) siteOperationId: ID único de la transacción a nivel comercio (equivalente al site_transaction_id).\n- (opcional) merchantId: ID Site del comercio.\n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n$data = array(\"pageSize\" =\u003e 5);\n$response = $connector-\u003epayment()-\u003ePaymentList($data);\n$response-\u003egetLimit();\n$response-\u003egetOffset();\n$response-\u003egetResults();\n$response-\u003egetHas_more();\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"getpaymentinfo\"\u003e\u003c/a\u003e\n\n### Información de un Pago\n\nMediante este recurso, se genera una solicitud de información de un pago previamente realizado, pasando como parámetro el id del pago.\n\n```php\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n$data = array();\n\n$response = $connector-\u003epayment()-\u003ePaymentInfo($data, '574421');\n$response-\u003egetId();\n$response-\u003egetSiteTransaction_id();\n$response-\u003egetToken();\n$response-\u003egetUser_id();\n$response-\u003egetPayment_method_id();\n$response-\u003egetCard_brand();\n$response-\u003egetBin();\n$response-\u003egetAmount();\n$response-\u003egetCurrency();\n$response-\u003egetInstallments();\n$response-\u003egetPayment_type();\n$response-\u003egetSub_payments();\n$response-\u003egetStatus();\n$response-\u003egetStatus_details();\n$response-\u003egetDate();\n$response-\u003egetEstablishment_name();\n$response-\u003egetFraud_detection();\n$response-\u003egetAggregate_data();\n$response-\u003egetSite_id();\n```\n\n\u003ca name=\"infoadicionaltarjeta\"\u003e\u003c/a\u003e\n#### Información adicional de tarjeta\n\nAgregando la opcion \"card_data\" se puede obtener información adicional de la tarjera utilizada para el pago.\n\n```php\n\n$data = array();\n$query = array(\"expand\"=\u003e\"card_data\");\n\n$response = $connector-\u003epayment()-\u003ePaymentInfo($data, '873836', $query);\n$response-\u003egetCard_data()\n\n```\n\n#### Respuesta\n\n```php\n\nArray (\n\t[card_number] =\u003e 450799XXXXXX4905\n\t[card_holder] =\u003e Array (\n\t\t[identification] =\u003e Array (\n\t\t[type] =\u003e dni\n\t\t[number] =\u003e 27859328\n\t)\n\t[name] =\u003e Tarjeta Visa\n\t)\n)\n\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"refund\"\u003e\u003c/a\u003e\n\n### Anulación / Devolución Total de Pago\n\nMediante este recurso, se genera una solicitud de anulación / devolución total de un pago puntual, pasando como parámetro el id del pago.\n\n```php\n\n$data = array();\n$response = $connector-\u003epayment()-\u003eRefund($data, '574671'); //574671 es el id de la operacion de compra\n$response-\u003egetId();\n$response-\u003egetAmount();\n$response-\u003egetSub_payments();\n$response-\u003egetStatus();\n\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\n\u003ca name=\"deleterefund\"\u003e\u003c/a\u003e\n\n### Anulación de Devolución Total\n\nMediante este recurso, se genera una solicitud de anulación de devolución total de un pago puntual, pasando como parámetro el id del pago y el id de la devolución.\n\n```php\n\n$data = array();\n$response = $connector-\u003epayment()-\u003edeleteRefund($data, '574671', '164'); //574671 id de la operacion de compra, 164 id de la devolucion\n$response-\u003egetResponse();\n$response-\u003egetStatus();\n\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\u003ca name=\"partialrefund\"\u003e\u003c/a\u003e\n\n### Devolución Parcial de un Pago\n\nMediante este recurso, se genera una solicitud de devolución parcial de un pago puntual, pasando como parámetro el id del pago y el monto de la devolución.\n\n|Campo | Descripcion  | Oblig | Restricciones  |Ejemplo|\n| ------------ | ------------ | ------------ | ------------ | ------------ |\n| amount  | importe del pago a devolver  |NO   | Antes del cierre, si se completa el campo por un monto menor al de la compra se toma como devolucion parcial; si se ingresa el monto total o no se envia dicho campo se toma como anulacion. |  1000 |\n\n```php\n\n$data = array(\n\t\"amount\" =\u003e 100\n\t);\n$response = $connector-\u003epayment()-\u003epartialRefund($data,'574673'); //574671 id de la operacion de compra\n$response-\u003egetId();\n$response-\u003egetAmount();\n$response-\u003egetSub_payments();\n$response-\u003egetStatus();\n\n\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#Inicio)\n\n\n\u003ca name=\"deletepartialrefund\"\u003e\u003c/a\u003e\n\n### Anulación de Devolución Parcial\n\nMediante este recurso, se genera una solicitud de anulación de devolución parcial de un pago puntual, pasando como parámetro el id del pago y el id de la devolución.\n\n```php\n\n$data = array();\n$response = $connector-\u003epayment()-\u003edeleteRefund($data, '574671', '164'); //574671 id de la operacion de compra, 164 id de la devolucion parcial\n$response-\u003egetResponse());\n$response-\u003egetStatus());\n\n\n```\n\n\n\u003ca name=\"tokenizaciontarjeta\"\u003e\u003c/a\u003e\n\n## Tokenizacion de tarjetas de crédito\n\nEsta funcionalidad permite que luego de realizar una compra con una tarjeta, se genere un token alfanumerico unico en el backend de Decidir, esto permite que a la hora de comprar nuevamente con esta tarjeta solo requerira el token de la tarjeta y el codigo de seguridad.\nComo primer paso se debe realizar una un pago normal, el token generado estara en el campo \"token\" de la respuesta.\n\n\u003ca name=\"listadotarjetastokenizadas\"\u003e\u003c/a\u003e\n\n### Listado de tarjetas tokenizadas\n\nEste metodo permite conocer el listado de tarjetas tokenizadas que posee un usuario determinado. Esto requerira el nombre de usuario (user_id) al momento de llamar al metodo tokensList.\n\n```php\n\n$data = array();\n$response = $connector-\u003etoken()-\u003etokensList($data, 'prueba'); //prueba, es el usuario dueño de la tarjeta de credito\nvar_dump($response);\nvar_dump($response-\u003egetTokens());\n\n\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#listadotarjetastokenizadas)\n\n\n\u003ca name=\"pagotokenizado\"\u003e\u003c/a\u003e\n\n### Ejecucion de pago tokenizado\n\nUna vez que se obtiene el token a partir de la tarjeta tokenizada, se deberá ejecutar la solicitud de pago. Además del token de pago y los parámetros propios de la transacción, el comercio deberá identificar la compra con el \"site_transaction_id\" y \"user_id\".\n\n```php\n\n$connector = new \\Decidir\\Connector($keys_data, $ambient);\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"user_id\" =\u003e \"pepe\",\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 1000,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array()\n    );\n\n$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n$response-\u003egetId();\n$response-\u003egetToken();\n$response-\u003egetUser_id();\n$response-\u003egetPayment_method_id();\n$response-\u003egetBin();\n$response-\u003egetAmount();\n$response-\u003egetCurrency();\n$response-\u003egetInstallments();\n$response-\u003egetPayment_type();\n$response-\u003egetDate_due();\n$response-\u003egetSub_payments();\n$response-\u003egetStatus();\n$response-\u003egetStatus_details();\n$response-\u003egetDate();\n$response-\u003egetEstablishment_name();\n$response-\u003egetFraud_detection();\n$response-\u003egetAggregate_data();\n$response-\u003egetSite_id();\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#pagotokenizado)\n\n\n\u003ca name=\"eliminartarjetatokenizada\"\u003e\u003c/a\u003e\n\n### Eliminacion de tarjeta tokenizada\n\nEl servicio da la posibilidad de eliminar un token de tarjeta generada, esto se logra instanciando token y utilizando el metodo tokenDelete() y enviando la tarjeta tokenizada.\n\n```php\n\n$data = array();\n$response = $connector-\u003etoken()-\u003etokenDelete($data, 'af49025a-f1b7-4363-a1cb-1ed38c3d4d75');\n\n```\n\n[\u003csub\u003eVolver a inicio\u003c/sub\u003e](#eliminartarjetatokenizada)\n\n\n\u003ca name=\"cybersource\"\u003e\u003c/a\u003e\n\n### Integración con Cybersource\n\nPara utilizar el Servicio de Control de Fraude Cybersource, en la ejecución del pago, deben enviarse datos adicionales sobre la operación de compra que se quiere realizar.\nSe han definido cinco verticales de negocio que requieren parámetros específicos, así como también parámetros comunes a todas las verticales.\n\n#### ¡IMPORTANTE! El parámetro amount no debe contener ni puntos ni comas, ya que los últimos dos dígitos siempre serán utilizados para la parte decimal del importe. Esto aplica también para todos los campos que sean montos en la ejecución del pago con Cybersource: purchaseTotals.grandTotalAmount, item.totalAmount y item.unitPrice. Ejemplo: 1200 ARS ≈ AR$ 12,00\n\n[Volver al inicio](#cybersource)\n\n#### Retail\n\nLos siguientes parámetros se deben enviar específicamente para la vertical Retail. Además se deben enviar datos específicos de cada producto involucrado en la transacción.\n[Documentación - Retail](https://documentacion-ventasonline.payway.com.ar/docs/gateway/szb63u2kn58e5-cybersourse-retail) \n\n| Descripcion (Data set) | API Fields | Required/Optional | Data Type | Origen del dato | Campo referente en ApiRest|Comentarios|\n|------------|------------|------------|------------|------------|------------|------------|\n|fraud_detection|send_to_cs(Boolean)|Required|Boolean |MDD40 - Fraud Update|\"send_to_cs\": true/false| |\n|fraud_detection|Channel(String)|Required|String |MDD6 - Sales Channel|\"channel\": \"Web\"| |\n|fraud_detection|device_unique_id(String)|Required|String|Unique identifier for the device|\"device_unique_id\": \"1234-1234\"| |\n|billTo|city(string)|Required|String (50)|Payments|\"city\": \"Buenos Aires\",\"|Ciudad / Debe comenzar con una letra|\n|billTo|country(string)|Required|String (2)|Payments|\"country\": \"AR\",\"|[Código ISO](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf )|\n|billTo|customerID(string)|Required|String (50)|Payments|\"customer_id\": \"leilaid\",\"|Identificador del usuario unico logueado al portal (No puede ser una direccion de email)|\n|billTo|email(string)|Required|String (100)|Payments|\"email\": \"accept@decidir.com.ar\",\"|correo electronico del comprador|\n|billTo|firstName(string)|Required|String (60)|Payments|\"first_name\": \"leila\",\"|Nombre del tarjeta habiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|lastName(string)|Required|String (60)|Payments|\"last_name\": \"leila\",\"|Apellido del tarjetahabiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|phoneNumber(string)|Required|String (15)|Payments|\"phone_number\": \"1548866329\",\"|Número de telefono|\n|billTo|postalCode(string)|Required|String (10)|Payments|\"postal_code\": \"1427\",\"|Codigo Postal|\n|billTo|state(string)|Required|String (2)|Payments|\"state\": \"BA\",\"|Estado (Si el country = US, el campo se valida para un estado valido en USA)|\n|billTo|street1(string)|Required|String (60)|Payments|\"street1\": \"LAVALLE 4041\",\"|Calle Numero interior Numero Exterior|\n|billTo|street2(string)|Optional|String (60)|Payments|\"street2\": \"LAVALLE 4041\",\"|Barrio|\n|shipTo|city(string)|Required|String (50)|Payments|\"city\": \"Buenos Aires\",\"|Ciudad / Debe comenzar con una letra|\n|shipTo|country(string)|Required|String (2)|Payments|\"country\": \"AR\",\"| [Código ISO] (http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf )|\n|shipTo|email(string)|Required|String (100)|Payments|\"email\": \"accept@decidir.com.ar\",\"|correo electronico del comprador|\n|shipTo|firstName(string)|Required|String (60)|Payments|\"first_name\": \"leila\",\"|Nombre del tarjeta habiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|shipTo|lastName(string)|Required|String (60)|Payments|\"last_name\": \"sosa\",\"|Apellido del tarjetahabiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|shipTo|phoneNumber(string)|Required|String (15)|Payments|\"phone_number\": \"1549066329\",\"|Número de telefono|\n|shipTo|postalCode(string)|Required|String (10)|Payments|\"postal_code\": \"1427\",\"|Codigo Postal|\n|shipTo|state(string)|Required|String (2)|Payments|\"state\": \"BA\",\"|Estado (Si el country = US, el campo se valida para un estado valido en USA)|\n|shipTo|street1(string)|Required|String (60)|Payments|\"street1\": \"LAVALLE 4041\"|Calle Numero interior Numero Exterior / Para los casos que no son de envío a domicilio, jamás enviar la dirección propia del comercio o correo donde se retire la mercadería, en ese caso replicar los datos de facturación.|\n|shipTo|street2(string)|Optional|String (60)|Payments|\"street2\": \"LAVALLE 4041\"|Barrio|\n|purchaseTotals|currency(string)|Required|String (5)|Payments|\"currency\": \"ARS\" |http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf|\n|purchaseTotals|grandTotalAmount(integer)|Required|Integer (12)|Payments|\"amount\": 1200|\n|customer_in_site (General for all Verticals)|MDD7- Fecha Registro Comprador (num Dias)|Optional|String (255)|Payments|\"days_in_site\": 243,\"|Numero de dias que tiene registrado un cliente en el portal del comercio.|\n|customer_in_site (General for all Verticals)|MDD8- Usuario Guest? (S/N)|Optional|String (255)|Payments|\"is_guest\": false,\"|Valor Boleano para indicar si el usuario esta comprando como invitado en la pagina del comercio. Valores posibles (S/N)|\n|customer_in_site (General for all Verticals)|MDD9- Customer password Hash|Optional|String (255)|Payments|\"password\": \"abracadabra\",\"|Valor del password del usuario registrado en el portal del comercio. Incluir el valor en hash|\n|customer_in_site (General for all Verticals)|MDD10- Historico de compras del comprador (Num transacciones)|Optional|String (255)|Payments|\"num_of_transactions\": 1,\"|Conteo de transacciones realizadas por el mismo usuario registrado en el portal del comercio|\n|customer_in_site (General for all Verticals)|MDD11- Customer Cell Phone|Optional|String (255)|Payments|\"cellphone_number\": \"12121\"|Incluir numero de telefono adicional del comprador|\n|customer_in_site (General for all Verticals)|MDD39 - Visa Validation|Optional|String (255)|Payments|\"street\": \"Av. Corrientes 1234\"|Incluir Domicilio de cliente|\n|campos Adicionales Vertical Retail|MDD12- Shipping DeadLine (Num Dias)|Optional|String (255)|Payments|\"days_to_delivery\": \"55\",\"|Numero de dias que tiene el comercio para hacer la entrega|\n|campos Adicionales Vertical Retail|MDD13- Metodo de Despacho|Optional (Catalogo)|String (255)|Payments|\"dispatch_method\": \"storepickup\",\"|Valores ejemplo: (domicilio, click and collect, carrier) Es recomendable que el API de decidir fije opciones seleccionables y no sean de captura libre para el comercio.|\n|campos Adicionales Vertical Retail|MDD14- Customer requires Tax Bill ?|Optional|String (255)|Payments|\"tax_voucher_required\": true,\"|Valor booleano para identificar si el cliente requiere un comprobante fiscal o no S / N|\n|campos Adicionales Vertical Retail|MDD15- Customer Loyality Number|Optional|String (255)|Payments|\"customer_loyality_number\": \"123232\",\"|Incluir numero de cliente frecuente|\n|campos Adicionales Vertical Retail|MDD16- Promotional / Coupon Code|Optional|String (255)|Payments|\"coupon_code\": \"cupon22\",\"|Incluir numero de cupon de descuento|\n|item|productCode(string)|Conditional|String (255)|Payments|\"code\": \"popblacksabbat2016\",\"|adult_content , coupon, gift_certificate , handling_only , shipping_and_handling , shipping_only, electronics, Apparel, Housewares, Sports, Toys, Books, Music, Video, Drugs/HBA|\n|item|productDescription(string)|Conditional|String (255)|Payments|\"description\": \"Popular Black Sabbath 2016\",\"|Descripcion general del producto|\n|item|productName(string)|Conditional|String (255)|Payments|\"name\": \"popblacksabbat2016ss\",\"|Nombre en catalogo del producto|\n|item|productSKU(string)|Conditional|String (255)|Payments|\"sku\": \"asas\",\"|SKU en catalogo|\n|item|quantity(integer)|Conditional|Integer (10)|Payments|\"quantity\": 1,\"|Cantidad productos del mismo tipo agregados al carrito|\n|item|totalAmount(integer)|Conditional|Integer (12)|Payments|\"total_amount\": 1200,\"|\"Precio total = Precio unitario * quantity / CSITTOTALAMOUNT = CSITUNITPRICE * CSITQUANTITY\" |\n|item|unitPrice(integer)|Conditional|Integer (12)|Payments|\"unit_price\": 1200\"|\"Precio Unitario del producto.\" | \n\n#### Ejemplo\n```php\n  $csmdd = array(\n            array(\n                \"csmdd17\" =\u003e \"17\"\n            ),\n            array(\n                \"csmdd18\" =\u003e \"18\"\n            ),\n            array(\n                \"csmdd19\" =\u003e \"19.999\"\n            )\n        );\n  $cs_data = array(\n        \"send_to_cs\" =\u003e true,\n        \"channel\" =\u003e \"Web\",\n        \"device_unique_id\" =\u003e \"1234-1234\",\n        \"bill_to\" =\u003e array(\n          \"city\" =\u003e \"Buenos Aires\",\n          \"country\" =\u003e \"AR\",\n          \"customer_id\" =\u003e \"martinid\",\n          \"email\" =\u003e \"accept@decidir.com.ar\",\n          \"first_name\" =\u003e \"martin\",\n          \"last_name\" =\u003e \"perez\",\n          \"phone_number\" =\u003e \"1547766111\",\n          \"postal_code\" =\u003e \"1768\",\n          \"state\" =\u003e \"BA\",\n          \"street1\" =\u003e \"GARCIA DEL RIO 3333\",\n          \"street2\" =\u003e \"GARCIA DEL RIO 3333\",\n        ),\n        \"ship_to\" =\u003e array(\n          \"city\" =\u003e \"Buenos Aires\",\n          \"country\" =\u003e \"AR\",\n          \"customer_id\" =\u003e \"martinid\",\n          \"email\" =\u003e \"accept@decidir.com.ar\",\n          \"first_name\" =\u003e \"martin\",\n          \"last_name\" =\u003e \"perez\",\n          \"phone_number\" =\u003e \"1547766111\",\n          \"postal_code\" =\u003e \"1768\",\n          \"state\" =\u003e \"BA\",\n          \"street1\" =\u003e \"GARCIA DEL RIO 3333\",\n          \"street2\" =\u003e \"GARCIA DEL RIO 3333\",\n        ),\n        \"currency\" =\u003e \"ARS\",\n        \"amount\" =\u003e 1200,\n        \"days_in_site\" =\u003e 243,\n        \"is_guest\" =\u003e false,\n        \"password\" =\u003e \"password\",\n        \"num_of_transactions\" =\u003e 1,\n        \"cellphone_number\" =\u003e \"12121\",\n        \"date_of_birth\" =\u003e \"129412\",\n        \"street\" =\u003e \"RIO 4041\",\n        \"days_to_delivery\" =\u003e \"55\",\n        \"dispatch_method\" =\u003e \"storepickup\",\n        \"tax_voucher_required\" =\u003e true,\n        \"customer_loyality_number\" =\u003e \"123232\",\n        \"coupon_code\" =\u003e \"cupon22\",\n        \"csmdds\" =\u003e $csmdd\n      );\n\n  //Datos de productos, array con los diferentes productos involucrados.\n  $cs_products = array(\n        array(\n          \"csitproductcode\" =\u003e \"electronic_product\", //Código de producto. MANDATORIO.\n          \"csitproductdescription\" =\u003e \"NOTEBOOK L845 SP4304LA DF TOSHIBA\", //Descripción del producto. MANDATORIO.\n          \"csitproductname\" =\u003e \"NOTEBOOK L845 SP4304LA DF TOSHIBA\",  //Nombre del producto. MANDATORIO.\n          \"csitproductsku\" =\u003e \"LEVJNSL36GN\", //Código identificador del producto. MANDATORIO.\n          \"csittotalamount\" =\u003e 1200, \n          \"csitquantity\" =\u003e 1,//Cantidad del producto. MANDATORIO.\n          \"csitunitprice\" =\u003e 1200 //Formato Idem CSITTOTALAMOUNT. MANDATORIO \n          ),\n        array(\n          \"csitproductcode\" =\u003e \"default\", //Código de producto. MANDATORIO.\n          \"csitproductdescription\" =\u003e \"PENDRIVE 2GB KINGSTON\", //Descripción del producto. MANDATORIO.\n          \"csitproductname\" =\u003e \"PENDRIVE 2GB\", //Nombre del producto. MANDATORIO.\n          \"csitproductsku\" =\u003e \"KSPDRV2g\", //Código identificador del producto. MANDATORIO.\n          \"csittotalamount\" =\u003e 1200, //MANDATORIO\n          \"csitquantity\" =\u003e 1, //Cantidad del producto. MANDATORIO.\n          \"csitunitprice\" =\u003e 1200 //Formato Idem CSITTOTALAMOUNT. MANDATORIO \n        )\n      );   \n\n      \n\n```\n\nPara incorporar estos datos en el requerimiento inicial, se debe instanciar un objeto de la clase Decidir\\Data\\Cybersource\\Retail de la siguiente manera.\n\n```php\n\n$cybersource = new Decidir\\Cybersource\\Retail(\n                    $datos_cs,  // Datos de la operación\n                    $cs_productos, // Datos de los productos\n  );\n\n$connector-\u003epayment()-\u003esetCybersource($cybersource-\u003egetData());\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"user_id\" =\u003e \"usuario\",\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 1200,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array()\n    );\n\n    $response = $connector-\u003epayment()-\u003eExecutePayment($data);\n\n```\n\n[Volver al inicio](#Inicio)\n\n\n#### Ticketing\n\nLos siguientes parámetros se deben enviar específicamente para la vertical Ticketing. Además se deben enviar datos específicos de cada producto involucrado en la transacción.\n[Documentación - Ticketing](https://documentacion-ventasonline.payway.com.ar/docs/gateway/zrf947tv94afc-cybersourse-ticketing) \n\n| Descripcion (Data set) | API Fields | Required/Optional | Data Type | Origen del dato | Campo referente en ApiRest|Comentarios|\n|------------|------------|------------|------------|------------|------------|------------|\n|fraud_detection|send_to_cs(Boolean)|Required|Boolean |MDD40 - Fraud Update|\"send_to_cs\": true/false| |\n|fraud_detection|Channel(String)|Required|String |MDD6 - Sales Channel|\"channel\": \"Web\"| |\n|fraud_detection|device_unique_id(String)|Required|String|Unique identifier for the device|\"device_unique_id\": \"1234-1234\"| |\n|billTo|city(string)|Required|String (50)|Payments|\"city\": \"Buenos Aires\",\"|Ciudad / Debe comenzar con una letra|\n|billTo|country(string)|Required|String (2)|Payments|\"country\": \"AR\",\"|[Código ISO](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf )|\n|billTo|customerID(string)|Required|String (50)|Payments|\"customer_id\": \"leilaid\",\"|Identificador del usuario unico logueado al portal (No puede ser una direccion de email)|\n|billTo|email(string)|Required|String (100)|Payments|\"email\": \"accept@decidir.com.ar\",\"|correo electronico del comprador|\n|billTo|firstName(string)|Required|String (60)|Payments|\"first_name\": \"leila\",\"|Nombre del tarjeta habiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|lastName(string)|Required|String (60)|Payments|\"last_name\": \"leila\",\"|Apellido del tarjetahabiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|phoneNumber(string)|Required|String (15)|Payments|\"phone_number\": \"1548866329\",\"|Número de telefono|\n|billTo|postalCode(string)|Required|String (10)|Payments|\"postal_code\": \"1427\",\"|Codigo Postal|\n|billTo|state(string)|Required|String (2)|Payments|\"state\": \"BA\",\"|Estado (Si el country = US, el campo se valida para un estado valido en USA)|\n|billTo|street1(string)|Required|String (60)|Payments|\"street1\": \"LAVALLE 4041\",\"|Calle Numero interior Numero Exterior|\n|billTo|street2(string)|Optional|String (60)|Payments|\"street2\": \"LAVALLE 4041\",\"|Barrio|\n|purchaseTotals|currency(string)|Required|String (5)|Payments|\"currency\": \"ARS\" |http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf|\n|purchaseTotals|grandTotalAmount(integer)|Required|Integer (12)|Payments|\"amount\": 1200|\n|customer_in_site (General for all Verticals)|MDD7- Fecha Registro Comprador (num Dias)|Optional|String (255)|Payments|\"days_in_site\": 243,\"|Numero de dias que tiene registrado un cliente en el portal del comercio.|\n|customer_in_site (General for all Verticals)|MDD8- Usuario Guest? (S/N)|Optional|String (255)|Payments|\"is_guest\": false,\"|Valor Boleano para indicar si el usuario esta comprando como invitado en la pagina del comercio. Valores posibles (S/N)|\n|customer_in_site (General for all Verticals)|MDD9- Customer password Hash|Optional|String (255)|Payments|\"password\": \"abracadabra\",\"|Valor del password del usuario registrado en el portal del comercio. Incluir el valor en hash|\n|customer_in_site (General for all Verticals)|MDD10- Historico de compras del comprador (Num transacciones)|Optional|String (255)|Payments|\"num_of_transactions\": 1,\"|Conteo de transacciones realizadas por el mismo usuario registrado en el portal del comercio|\n|customer_in_site (General for all Verticals)|MDD11- Customer Cell Phone|Optional|String (255)|Payments|\"cellphone_number\": \"12121\"|Incluir numero de telefono adicional del comprador|\n|customer_in_site (General for all Verticals)|MDD39- Visa Validation|Optional|String (255)|Payments|\"street\": \"Av. Corrientes 1234\"|Incluir Domicilio de cliente|\n|customer_in_site (General for all Verticals)|MDD10- TXs Quantity|Optional|String (255)|Payments|\"num_of_transactions\": 1|Incluir numero de transaccion|\n|ticketing_transaction_data|MDD33 - Days to Event|Requerido|Integer|Payments|\"days_to_event\": 55|Incluir dias para el evento|\n|ticketing_transaction_data|MDD34 - Delivery Type|Requerido|Integer|Payments|\"delivery_type\": \"Pick Up\"|Incluir tipo de entrega|\n|item|productCode(string)|Conditional|String (255)|Payments|\"code\": \"popblacksabbat2016\",\"|adult_content , coupon, gift_certificate , handling_only , shipping_and_handling , shipping_only, electronics, Apparel, Housewares, Sports, Toys, Books, Music, Video, Drugs/HBA|\n|item|productDescription(string)|Conditional|String (255)|Payments|\"description\": \"Popular Black Sabbath 2016\",\"|Descripcion general del producto|\n|item|productName(string)|Conditional|String (255)|Payments|\"name\": \"popblacksabbat2016ss\",\"|Nombre en catalogo del producto|\n|item|productSKU(string)|Conditional|String (255)|Payments|\"sku\": \"asas\",\"|SKU en catalogo|\n|item|quantity(integer)|Conditional|Integer (10)|Payments|\"quantity\": 1,\"|Cantidad productos del mismo tipo agregados al carrito|\n|item|totalAmount(integer)|Conditional|Integer (12)|Payments|\"total_amount\": 1200,\"|\"Precio total = Precio unitario * quantity / CSITTOTALAMOUNT = CSITUNITPRICE * CSITQUANTITY\" |\n|item|unitPrice(integer)|Conditional|Integer (12)|Payments|\"unit_price\": 1200\"|\"Precio Unitario del producto.\" | \n\n#### Ejemplo\n```php\n  $csmdd = array(\n            array(\n                \"csmdd17\" =\u003e \"17\"\n            ),\n            array(\n                \"csmdd18\" =\u003e \"18\"\n            ),\n            array(\n                \"csmdd19\" =\u003e \"19.999\"\n            )\n        );\n  $cs_data = array(\n        \"send_to_cs\" =\u003e true,\n        \"channel\" =\u003e \"Web\",\n        \"device_unique_id\" =\u003e \"1234-1234\",\n        \"bill_to\" =\u003e array(\n          \"city\" =\u003e \"Buenos Aires\",\n          \"country\" =\u003e \"AR\",\n          \"customer_id\" =\u003e \"martinid\",\n          \"email\" =\u003e \"accept@decidir.com.ar\",\n          \"first_name\" =\u003e \"martin\",\n          \"last_name\" =\u003e \"perez\",\n          \"phone_number\" =\u003e \"1547766111\",\n          \"postal_code\" =\u003e \"1427\",\n          \"state\" =\u003e \"BA\",\n          \"street1\" =\u003e \"GARCIA DEL RIO 4000\",\n          \"street2\" =\u003e \"GARCIA DEL RIO 4000\",\n        ),\n        \"currency\" =\u003e \"ARS\",\n        \"amount\" =\u003e 1200,\n        \"days_in_site\" =\u003e 243,\n        \"is_guest\" =\u003e false,\n        \"password\" =\u003e \"abracadabra\",\n        \"num_of_transactions\" =\u003e 1,\n        \"cellphone_number\" =\u003e \"12121\",\n        \"date_of_birth\" =\u003e \"129412\",\n        \"street\" =\u003e \"RIO 4041\",\n        \"delivery_type\"=\u003e \"Pick up\",\n        \"days_to_event\"=\u003e 55,\n        \"csmdds\" =\u003e $csmdd\n      );\n\n  //Datos de productos, array con los diferentes productos involucrados.\n  $cs_products = array(\n        array(\n          \"csitproductcode\" =\u003e \"concierto2016\",\n                  \"csitproductdescription\" =\u003e \"Popular Concierto 2016\",\n                  \"csitproductname\" =\u003e \"concierto2016\",\n                  \"csitproductsku\" =\u003e \"BS01\",\n                  \"csittotalamount\" =\u003e 1200,\n                  \"csitquantity\" =\u003e 1,\n                  \"csitunitprice\" =\u003e 1200\n          ),\n        array(\n          \"csitproductcode\" =\u003e \"concierto2017\",\n                  \"csitproductdescription\" =\u003e \"Popular Concierto 2017\",\n                  \"csitproductname\" =\u003e \"concierto2017\",\n                  \"csitproductsku\" =\u003e \"BS01\",\n                  \"csittotalamount\" =\u003e 1200,\n                  \"csitquantity\" =\u003e 1,\n                  \"csitunitprice\" =\u003e 1200\n        )\n      );  \n     \n\n```\n\nPara incorporar estos datos en el requerimiento inicial, se debe instanciar un objeto de la clase Decidir\\Data\\Cybersource\\Ticketing de la siguiente manera.\n\n```php\n$cybersource = new Decidir\\Cybersource\\Ticketing(\n                    $datos_cs,  // Datos de la operación\n                    $cs_productos, // Datos de los productos\n  );\n\n$connector-\u003epayment()-\u003esetCybersource($cybersource-\u003egetData());\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"user_id\" =\u003e \"usuario\",\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 1200,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array()\n    );\n\n$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n\n```\n\n[Volver al inicio](#Inicio)\n\n\n#### Digital Goods\n\nLos siguientes parámetros se deben enviar específicamente para la vertical Digital Goods. Además se deben enviar datos específicos de cada producto involucrado en la transacción.\n[Documentación - Digital Goods](https://documentacion-ventasonline.payway.com.ar/docs/gateway/mbpu3o5rso0e2-cybersourse-digital-goods) \n\n| Descripcion (Data set) | API Fields | Required/Optional | Data Type | Origen del dato | Campo referente en ApiRest|Comentarios|\n|------------|------------|------------|------------|------------|------------|------------|\n|fraud_detection|send_to_cs(Boolean)|Required|Boolean |MDD40 - Fraud Update|\"send_to_cs\": true/false| |\n|fraud_detection|Channel(String)|Required|String |MDD6 - Sales Channel|\"channel\": \"Web\"| |\n|fraud_detection|device_unique_id(String)|Required|String|Unique identifier for the device|\"device_unique_id\": \"1234-1234\"| |\n|billTo|city(string)|Required|String (50)|Payments|\"city\": \"Buenos Aires\",\"|Ciudad / Debe comenzar con una letra|\n|billTo|country(string)|Required|String (2)|Payments|\"country\": \"AR\",\"|[Código ISO](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf )|\n|billTo|customerID(string)|Required|String (50)|Payments|\"customer_id\": \"leilaid\",\"|Identificador del usuario unico logueado al portal (No puede ser una direccion de email)|\n|billTo|email(string)|Required|String (100)|Payments|\"email\": \"accept@decidir.com.ar\",\"|correo electronico del comprador|\n|billTo|firstName(string)|Required|String (60)|Payments|\"first_name\": \"leila\",\"|Nombre del tarjeta habiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|lastName(string)|Required|String (60)|Payments|\"last_name\": \"leila\",\"|Apellido del tarjetahabiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|phoneNumber(string)|Required|String (15)|Payments|\"phone_number\": \"1548866329\",\"|Número de telefono|\n|billTo|postalCode(string)|Required|String (10)|Payments|\"postal_code\": \"1427\",\"|Codigo Postal|\n|billTo|state(string)|Required|String (2)|Payments|\"state\": \"BA\",\"|Estado (Si el country = US, el campo se valida para un estado valido en USA)|\n|billTo|street1(string)|Required|String (60)|Payments|\"street1\": \"LAVALLE 4041\",\"|Calle Numero interior Numero Exterior|\n|billTo|street2(string)|Optional|String (60)|Payments|\"street2\": \"LAVALLE 4041\",\"|Barrio|\n|purchaseTotals|currency(string)|Required|String (5)|Payments|\"currency\": \"ARS\" |http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf|\n|purchaseTotals|grandTotalAmount(integer)|Required|Integer (12)|Payments|\"amount\": 1200|\n|customer_in_site (General for all Verticals)|MDD7- Fecha Registro Comprador (num Dias)|Optional|String (255)|Payments|\"days_in_site\": 243,\"|Numero de dias que tiene registrado un cliente en el portal del comercio.|\n|customer_in_site (General for all Verticals)|MDD8- Usuario Guest? (S/N)|Optional|String (255)|Payments|\"is_guest\": false,\"|Valor Boleano para indicar si el usuario esta comprando como invitado en la pagina del comercio. Valores posibles (S/N)|\n|customer_in_site (General for all Verticals)|MDD9- Customer password Hash|Optional|String (255)|Payments|\"password\": \"abracadabra\",\"|Valor del password del usuario registrado en el portal del comercio. Incluir el valor en hash|\n|customer_in_site (General for all Verticals)|MDD10- Historico de compras del comprador (Num transacciones)|Optional|String (255)|Payments|\"num_of_transactions\": 1,\"|Conteo de transacciones realizadas por el mismo usuario registrado en el portal del comercio|\n|customer_in_site (General for all Verticals)|MDD11- Customer Cell Phone|Optional|String (255)|Payments|\"cellphone_number\": \"12121\"|Incluir numero de telefono adicional del comprador|\n|customer_in_site (General for all Verticals)|MDD39- Visa Validation|Optional|String (255)|Payments|\"street\": \"Av. Corrientes 1234\"|Incluir Domicilio de cliente|\n|customer_in_site (General for all Verticals)|MDD10- TXs Quantity|Optional|String (255)|Payments|\"num_of_transactions\": 1|Incluir numero de transaccion|\n|digital_goods_transaction_data|MDD32 - Delivery Type|Requerido|Integer|Payments|\"delivery_type\": \"Pick Up\"|Incluir tipo de entrega|\n|item|productCode(string)|Conditional|String (255)|Payments|\"code\": \"popblacksabbat2016\",\"|adult_content , coupon, gift_certificate , handling_only , shipping_and_handling , shipping_only, electronics, Apparel, Housewares, Sports, Toys, Books, Music, Video, Drugs/HBA|\n|item|productDescription(string)|Conditional|String (255)|Payments|\"description\": \"Popular Black Sabbath 2016\",\"|Descripcion general del producto|\n|item|productName(string)|Conditional|String (255)|Payments|\"name\": \"popblacksabbat2016ss\",\"|Nombre en catalogo del producto|\n|item|productSKU(string)|Conditional|String (255)|Payments|\"sku\": \"asas\",\"|SKU en catalogo|\n|item|quantity(integer)|Conditional|Integer (10)|Payments|\"quantity\": 1,\"|Cantidad productos del mismo tipo agregados al carrito|\n|item|totalAmount(integer)|Conditional|Integer (12)|Payments|\"total_amount\": 1200,\"|\"Precio total = Precio unitario * quantity / CSITTOTALAMOUNT = CSITUNITPRICE * CSITQUANTITY\" |\n|item|unitPrice(integer)|Conditional|Integer (12)|Payments|\"unit_price\": 1200\"|\"Precio Unitario del producto.\" | \n\n\n#### Ejemplo\n```php\n$csmdd = array(\n            array(\n                \"csmdd17\" =\u003e \"17\"\n            ),\n            array(\n                \"csmdd18\" =\u003e \"18\"\n            ),\n            array(\n                \"csmdd19\" =\u003e \"19.999\"\n            )\n        );\n$cs_data = array(\n      \"send_to_cs\" =\u003e true,\n      \"channel\" =\u003e \"Web\",\n      \"device_unique_id\" =\u003e \"1234-1234\",\n      \"bill_to\" =\u003e array(\n        \"city\" =\u003e \"Buenos Aires\",\n        \"country\" =\u003e \"AR\",\n        \"customer_id\" =\u003e \"martinid\",\n        \"email\" =\u003e \"accept@decidir.com.ar\",\n        \"first_name\" =\u003e \"martin\",\n        \"last_name\" =\u003e \"perez\",\n        \"phone_number\" =\u003e \"1547766111\",\n        \"postal_code\" =\u003e \"1427\",\n        \"state\" =\u003e \"BA\",\n        \"street1\" =\u003e \"GARCIA DEL RIO 4000\",\n        \"street2\" =\u003e \"GARCIA DEL RIO 4000\",\n      ),\n      \"currency\" =\u003e \"ARS\",\n      \"amount\" =\u003e 1200,\n      \"days_in_site\" =\u003e 243,\n      \"is_guest\" =\u003e false,\n      \"password\" =\u003e \"abracadabra\",\n      \"num_of_transactions\" =\u003e 1,\n      \"cellphone_number\" =\u003e \"12121\",\n      \"date_of_birth\" =\u003e \"129412\",\n      \"street\" =\u003e \"RIO 4041\",\n      \"delivery_type\"=\u003e \"Pick up\",\n      \"csmdds\" =\u003e $csmdd\n    );\n\n//lista de productos cybersource\n$cs_products = array(\n      array(\n        \"csitproductcode\" =\u003e \"software2016\",\n                \"csitproductdescription\" =\u003e \"Software 2016\",\n                \"csitproductname\" =\u003e \"soft2016\",\n                \"csitproductsku\" =\u003e \"ST01\",\n                \"csittotalamount\" =\u003e 1200,\n                \"csitquantity\" =\u003e 1,\n                \"csitunitprice\" =\u003e 1200\n      ),\n      array(\n        \"csitproductcode\" =\u003e \"software2017\",\n                \"csitproductdescription\" =\u003e \"Software 2017\",\n                \"csitproductname\" =\u003e \"soft2017\",\n                \"csitproductsku\" =\u003e \"ST01\",\n                \"csittotalamount\" =\u003e 1200,\n                \"csitquantity\" =\u003e 1,\n                \"csitunitprice\" =\u003e 1200\n      )\n    );\n  \n```\n\n\nPara incorporar estos datos en el requerimiento inicial, se debe instanciar un objeto de la clase Decidir\\Data\\Cybersource\\DigitalGoods de la siguiente manera.\n\n```php\n\n$cybersource = new Decidir\\Cybersource\\DigitalGoods(\n                    $datos_cs,  // Datos de la operación\n                    $cs_productos, // Datos de los productos\n  );\n\n$connector-\u003epayment()-\u003esetCybersource($cybersource-\u003egetData());\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"user_id\" =\u003e \"usuario\",\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 1200,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array()\n    );\n\n$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n\n```\n\n\n#### Services\n\nLos siguientes parámetros se deben enviar específicamente para la vertical Digital Goods. Además se deben enviar datos específicos de cada producto involucrado en la transacción.\n[Documentación - Services](https://documentacion-ventasonline.payway.com.ar/docs/gateway/bo2f68vz6x9rw-cybersourse-services) \n\n\n| Descripcion (Data set) | API Fields | Required/Optional | Data Type | Origen del dato | Campo referente en ApiRest|Comentarios|\n|------------|------------|------------|------------|------------|------------|------------|\n|fraud_detection|send_to_cs(Boolean)|Required|Boolean |MDD40 - Fraud Update|\"send_to_cs\": true/false| |\n|fraud_detection|Channel(String)|Required|String |MDD6 - Sales Channel|\"channel\": \"Web\"| |\n|fraud_detection|device_unique_id(String)|Required|String|Unique identifier for the device|\"device_unique_id\": \"1234-1234\"| |\n|billTo|city(string)|Required|String (50)|Payments|\"city\": \"Buenos Aires\",\"|Ciudad / Debe comenzar con una letra|\n|billTo|country(string)|Required|String (2)|Payments|\"country\": \"AR\",\"|[Código ISO](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf )|\n|billTo|customerID(string)|Required|String (50)|Payments|\"customer_id\": \"leilaid\",\"|Identificador del usuario unico logueado al portal (No puede ser una direccion de email)|\n|billTo|email(string)|Required|String (100)|Payments|\"email\": \"accept@decidir.com.ar\",\"|correo electronico del comprador|\n|billTo|firstName(string)|Required|String (60)|Payments|\"first_name\": \"leila\",\"|Nombre del tarjeta habiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|lastName(string)|Required|String (60)|Payments|\"last_name\": \"leila\",\"|Apellido del tarjetahabiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|phoneNumber(string)|Required|String (15)|Payments|\"phone_number\": \"1548866329\",\"|Número de telefono|\n|billTo|postalCode(string)|Required|String (10)|Payments|\"postal_code\": \"1427\",\"|Codigo Postal|\n|billTo|state(string)|Required|String (2)|Payments|\"state\": \"BA\",\"|Estado (Si el country = US, el campo se valida para un estado valido en USA)|\n|billTo|street1(string)|Required|String (60)|Payments|\"street1\": \"LAVALLE 4041\",\"|Calle Numero interior Numero Exterior|\n|billTo|street2(string)|Optional|String (60)|Payments|\"street2\": \"LAVALLE 4041\",\"|Barrio|\n|purchaseTotals|currency(string)|Required|String (5)|Payments|\"currency\": \"ARS\" |http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf|\n|purchaseTotals|grandTotalAmount(integer)|Required|Integer (12)|Payments|\"amount\": 1200|\n|customer_in_site (General for all Verticals)|MDD7- Fecha Registro Comprador (num Dias)|Optional|String (255)|Payments|\"days_in_site\": 243,\"|Numero de dias que tiene registrado un cliente en el portal del comercio.|\n|customer_in_site (General for all Verticals)|MDD8- Usuario Guest? (S/N)|Optional|String (255)|Payments|\"is_guest\": false,\"|Valor Boleano para indicar si el usuario esta comprando como invitado en la pagina del comercio. Valores posibles (S/N)|\n|customer_in_site (General for all Verticals)|MDD9- Customer password Hash|Optional|String (255)|Payments|\"password\": \"abracadabra\",\"|Valor del password del usuario registrado en el portal del comercio. Incluir el valor en hash|\n|customer_in_site (General for all Verticals)|MDD10- Historico de compras del comprador (Num transacciones)|Optional|String (255)|Payments|\"num_of_transactions\": 1,\"|Conteo de transacciones realizadas por el mismo usuario registrado en el portal del comercio|\n|customer_in_site (General for all Verticals)|MDD11- Customer Cell Phone|Optional|String (255)|Payments|\"cellphone_number\": \"12121\"|Incluir numero de telefono adicional del comprador|\n|customer_in_site (General for all Verticals)|MDD39- Visa Validation|Optional|String (255)|Payments|\"street\": \"Av. Corrientes 1234\"|Incluir Domicilio de cliente|\n|customer_in_site (General for all Verticals)|MDD10- TXs Quantity|Optional|String (255)|Payments|\"num_of_transactions\": 1|Incluir numero de transaccion|\n|services_transaction_data| Service Type|Requerido|String (255)|\"service_type\": \"eltipodelservicio\"|Incluir el tipo de servicio|\n|services_transaction_data| Reference payment |Requerido|String (255)|\"reference_payment_service1\": \"reference1\"|Incluir una referencia de pago|\n|services_transaction_data| Reference payment |Requerido|String (255)|\"reference_payment_service2\": \"reference1\"|Incluir una referencia de pago|\n|services_transaction_data| Reference payment |Requerido|String (255)|\"reference_payment_service3\": \"reference1\"|Incluir una referencia de pago|\n|item|productCode(string)|Conditional|String (255)|Payments|\"code\": \"popblacksabbat2016\",\"|adult_content , coupon, gift_certificate , handling_only , shipping_and_handling , shipping_only, electronics, Apparel, Housewares, Sports, Toys, Books, Music, Video, Drugs/HBA|\n|item|productDescription(string)|Conditional|String (255)|Payments|\"description\": \"Popular Black Sabbath 2016\",\"|Descripcion general del producto|\n|item|productName(string)|Conditional|String (255)|Payments|\"name\": \"popblacksabbat2016ss\",\"|Nombre en catalogo del producto|\n|item|productSKU(string)|Conditional|String (255)|Payments|\"sku\": \"asas\",\"|SKU en catalogo|\n|item|quantity(integer)|Conditional|Integer (10)|Payments|\"quantity\": 1,\"|Cantidad productos del mismo tipo agregados al carrito|\n|item|totalAmount(integer)|Conditional|Integer (12)|Payments|\"total_amount\": 1200,\"|\"Precio total = Precio unitario * quantity / CSITTOTALAMOUNT = CSITUNITPRICE * CSITQUANTITY\" |\n|item|unitPrice(integer)|Conditional|Integer (12)|Payments|\"unit_price\": 1200\"|\"Precio Unitario del producto.\" | \n\n#### Ejemplo\n```php\n$csmdd = array(\n            array(\n                \"csmdd17\" =\u003e \"17\"\n            ),\n            array(\n                \"csmdd18\" =\u003e \"18\"\n            ),\n            array(\n                \"csmdd19\" =\u003e \"19.999\"\n            )\n        );\n$cs_data = array(\n    \"send_to_cs\" =\u003e true,\n    \"channel\" =\u003e \"Web\",\n    \"device_unique_id\" =\u003e \"1234-1234\",\n    \"bill_to\" =\u003e array(\n        \"city\" =\u003e \"Buenos Aires\",\n        \"country\" =\u003e \"AR\",\n        \"customer_id\" =\u003e \"martinid\",\n        \"email\" =\u003e \"accept@decidir.com.ar\",\n        \"first_name\" =\u003e \"martin\",\n        \"last_name\" =\u003e \"perez\",\n        \"phone_number\" =\u003e \"1547766111\",\n        \"postal_code\" =\u003e \"1768\",\n        \"state\" =\u003e \"BA\",\n        \"street1\" =\u003e \"GARCIA DEL RIO 3333\",\n        \"street2\" =\u003e \"GARCIA DEL RIO 3333\",\n    ),\n    \"currency\" =\u003e \"ARS\",\n    \"amount\" =\u003e 1200,\n    \"days_in_site\" =\u003e 243,\n    \"is_guest\" =\u003e false,\n    \"password\" =\u003e \"password\",\n    \"num_of_transactions\" =\u003e 1,\n    \"cellphone_number\" =\u003e \"12121\",\n    \"date_of_birth\" =\u003e \"129412\",\n    \"street\" =\u003e \"RIO 4041\",\n    \"service_type\" =\u003e \"tiposervicio\",\n    \"reference_payment_service1\" =\u003e \"reference1\",\n    \"reference_payment_service2\" =\u003e \"reference2\",\n    \"reference_payment_service3\" =\u003e \"reference3\",\n    \"csmdds\" =\u003e $csmdd\n);\n\n//lista de productos cybersource\n$cs_products = array(\n    array(\n        \"csitproductcode\" =\u003e \"popblacksabbat2016\",\n        \"csitproductdescription\" =\u003e \"Popular Black Sabbath 2016\",\n        \"csitproductname\" =\u003e \"popblacksabbat2016ss\",\n        \"csitproductsku\" =\u003e \"asas\",\n        \"csittotalamount\" =\u003e 1200,\n        \"csitquantity\" =\u003e 1,\n        \"csitunitprice\" =\u003e 1200\n    ),\n    array(\n        \"csitproductcode\" =\u003e \"popblacksabbat2017\",\n        \"csitproductdescription\" =\u003e \"Popular Black Sabbath 2017\",\n        \"csitproductname\" =\u003e \"popblacksabbat2017ss\",\n        \"csitproductsku\" =\u003e \"asas\",\n        \"csittotalamount\" =\u003e 1200,\n        \"csitquantity\" =\u003e 1,\n        \"csitunitprice\" =\u003e 1200\n    )\n);\n\n```\n\nPara incorporar estos datos en el requerimiento inicial, se debe instanciar un objeto de la clase Decidir\\Data\\Cybersource\\Service de la siguiente manera.\n\n```php\n\n$cybersource = new Decidir\\Cybersource\\Service(\n                    $datos_cs,  // Datos de la operación\n                    $cs_productos, // Datos de los productos\n  );\n\n$connector-\u003epayment()-\u003esetCybersource($cybersource-\u003egetData());\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"user_id\" =\u003e \"usuario\",\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 1200,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array()\n    );\n\n$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n\n```\n\n#### Travel\n\nLos siguientes parámetros se deben enviar específicamente para la vertical Travel. Además se deben enviar datos específicos de cada pasajero involucrado en la transacción.\n[Documentación - Travel](https://documentacion-ventasonline.payway.com.ar/docs/gateway/bml3xwx0xuvpi-cybersourse-travel) \n\n| Descripcion (Data set) | API Fields | Required/Optional | Data Type | Origen del dato | Campo referente en ApiRest|Comentarios|\n|------------|------------|------------|------------|------------|------------|------------|\n|fraud_detection|send_to_cs(Boolean)|Required|Boolean |MDD40 - Fraud Update|\"send_to_cs\": true/false| |\n|fraud_detection|Channel(String)|Required|String |MDD6 - Sales Channel|\"channel\": \"Web\"| |\n|fraud_detection|device_unique_id(String)|Required|String|Unique identifier for the device|\"device_unique_id\": \"1234-1234\"| |\n|billTo|city(string)|Required|String (50)|Payments|\"city\": \"Buenos Aires\",\"|Ciudad / Debe comenzar con una letra|\n|billTo|country(string)|Required|String (2)|Payments|\"country\": \"AR\",\"|[Código ISO](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf )|\n|billTo|customerID(string)|Required|String (50)|Payments|\"customer_id\": \"leilaid\",\"|Identificador del usuario unico logueado al portal (No puede ser una direccion de email)|\n|billTo|email(string)|Required|String (100)|Payments|\"email\": \"accept@decidir.com.ar\",\"|correo electronico del comprador|\n|billTo|firstName(string)|Required|String (60)|Payments|\"first_name\": \"leila\",\"|Nombre del tarjeta habiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|lastName(string)|Required|String (60)|Payments|\"last_name\": \"leila\",\"|Apellido del tarjetahabiente / Sin caracteres especiales como acentos invertidos, sólo letras, números y espacios|\n|billTo|phoneNumber(string)|Required|String (15)|Payments|\"phone_number\": \"1548866329\",\"|Número de telefono|\n|billTo|postalCode(string)|Required|String (10)|Payments|\"postal_code\": \"1427\",\"|Codigo Postal|\n|billTo|state(string)|Required|String (2)|Payments|\"state\": \"BA\",\"|Estado (Si el country = US, el campo se valida para un estado valido en USA)|\n|billTo|street1(string)|Required|String (60)|Payments|\"street1\": \"LAVALLE 4041\",\"|Calle Numero interior Numero Exterior|\n|billTo|street2(string)|Optional|String (60)|Payments|\"street2\": \"LAVALLE 4041\",\"|Barrio|\n|purchaseTotals|currency(string)|Required|String (5)|Payments|\"currency\": \"ARS\" |http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf|\n|purchaseTotals|grandTotalAmount(integer)|Required|Integer (12)|Payments|\"amount\": 1200|\n|customer_in_site (General for all Verticals)|MDD8- Usuario Guest? (S/N)|Optional|String (255)|Payments|\"is_guest\": false,\"|Valor Boleano para indicar si el usuario esta comprando como invitado en la pagina del comercio. Valores posibles (S/N)|\n|customer_in_site (General for all Verticals)|MDD9- Customer password Hash|Optional|String (255)|Payments|\"password\": \"abracadabra\",\"|Valor del password del usuario registrado en el portal del comercio. Incluir el valor en hash|\n|customer_in_site (General for all Verticals)|MDD10- Historico de compras del comprador (Num transacciones)|Optional|String (255)|Payments|\"num_of_transactions\": 1,\"|Conteo de transacciones realizadas por el mismo usuario registrado en el portal del comercio|\n|customer_in_site (General for all Verticals)|MDD11- Customer Cell Phone|Optional|String (255)|Payments|\"cellphone_number\": \"12121\"|Incluir numero de telefono adicional del comprador|\n|customer_in_site (General for all Verticals)|MDD39- Visa Validation|Optional|String (255)|Payments|\"street\": \"Av. Corrientes 1234\"|Incluir Domicilio de cliente|\n|customer_in_site (General for all Verticals)|MDD10- TXs Quantity|Optional|String (255)|Payments|\"num_of_transactions\": 1|Incluir numero de transaccion|\n|travel_transaction_data| reservation_code |Requerido|String (255)|\"reservation_code\": \"GJH784\"|Incluir el codigo de servicio|\n|travel_transaction_data| third_party_booking |Requerido|String (255)|\"third_party_booking\": false|Incluir \"true\" si es booking por terceros|\n|travel_transaction_data| departure_city |Requerido|String (255)|\"departure_city\": \"EZE\"|Incluir codigo de ciudad de salida|\n|travel_transaction_data| final_destination_city |Requerido|String (255)|\"final_destination_city\": \"HND\"|Incluir codigo de ciudad de llegada|\n|travel_transaction_data| international_flight |Requerido|String (255)|\"international_flight\": false|Incluir \"true\" si es vuelo internacional|\n|travel_transaction_data| frequent_flier_number |Requerido|String (255)|\"frequent_flier_number\": \"00000123\"|Incluir el numero de viajero frecuente|\n|travel_transaction_data| class_of_service |Requerido|String (255)|\"class_of_service\": \"class\"|Incluir la clase de servicio|\n|travel_transaction_data| day_of_week_of_flight |Requerido|String (255)|\"day_of_week_of_flight\": 2|Incluir el día de la semana de vuelo|\n|travel_transaction_data| week_of_year_of_flight |Requerido|String (255)|\"week_of_year_of_flight\": 5|Incluir la semana del año de vuelo|\n|travel_transaction_data| airline_code |Requerido|String (255)|\"airline_code\": \"AA\"|Incluir el código de la aerolínea|\n|travel_transaction_data| code_share |Requerido|String (255)|\"code_share\": \"SKYTEAM\"|Incluir el código de compartido|\n|travel_transaction_data| code_share |Requerido|String (255)|\"code_share\": \"SKYTEAM\"|Incluir el código de compartido|\n|travel_transaction_data decision_manager_travel| complete_route |Requerido|String (255)|\"complete_route\": \"EZE-LAX:LAX-HND\"|Incluir código de ruta completa|\n|travel_transaction_data decision_manager_travel| journey_type |Requerido|String (255)|\"journey_type\": \"one way\"|Incluir tipo de viaje|\n|travel_transaction_data decision_manager_travel| departure_date departure_time |Requerido|String (255)|\"departure_time\": \"2017-05-30T09:00Z\"|Incluir el tiempo de partida|\n|travel_transaction_data decision_manager_travel| departure_date departure_zone |Requerido|String (255)|\"departure_zone\": \"2017-05-30T09:00Z\"|Incluir la zona de partida|\n|passengers|email(string)|Conditional|String (255)|Payments| \"email\": \"juan@mail.com\"|Email del pasajero|\n|passengers|first_name(string)|Conditional|String (255)|Payments|\"first_name\": \"Juan\"|Primer nombre del pasajero|\n|passengers|last_name(string)|Conditional|String (255)|Payments|\"last_name\": \"Perez\"|Apellido del pasajero|\n|passengers|passport_id(string)|Conditional|String (255)|Payments|\"passport_id\": \"412314851231\"|Id del pasaporte del pasajero|\n|passengers|phone(string)|Conditional|String (255)|Payments|\"phone\": \"541134356768\"|Teléfono del pasajero|\n|passengers|passenger_status(string)|Conditional|String (255)|Payments|\"passenger_status\": \"gold\"|Status del pasajero|\n|passengers|passenger_type(string)|Conditional|String (255)|Payments|\"passenger_type\": \"ADT\"|Tipo de pasajero|\n\n#### Ejemplo\n```php\n\n$cs_data = array(\n    \"send_to_cs\" =\u003e true,\n    \"channel\" =\u003e \"Web\",\n    \"device_unique_id\" =\u003e \"1234-1234\",\n    \"bill_to\" =\u003e array(\n        \"city\" =\u003e \"Buenos Aires\",\n        \"country\" =\u003e \"AR\",\n        \"customer_id\" =\u003e \"martinid\",\n        \"email\" =\u003e \"accept@decidir.com.ar\",\n        \"first_name\" =\u003e \"martin\",\n        \"last_name\" =\u003e \"perez\",\n        \"phone_number\" =\u003e \"1547766111\",\n        \"postal_code\" =\u003e \"1768\",\n        \"state\" =\u003e \"BA\",\n        \"street1\" =\u003e \"GARCIA DEL RIO 3333\",\n        \"street2\" =\u003e \"GARCIA DEL RIO 3333\",\n    ),\n    \"currency\" =\u003e \"ARS\",\n    \"amount\" =\u003e 1200,\n    \"days_in_site\" =\u003e 243,\n    \"is_guest\" =\u003e false,\n    \"password\" =\u003e \"password\",\n    \"num_of_transactions\" =\u003e 1,\n    \"cellphone_number\" =\u003e \"12121\",\n    \"date_of_birth\" =\u003e \"129412\",\n    \"street\" =\u003e \"RIO 4041\",\n    \"reservation_code\" =\u003e \"GJH784\",\n    \"third_party_booking\" =\u003e false,\n    \"departure_city\" =\u003e \"EZE\",\n    \"final_destination_city\" =\u003e \"HND\",\n    \"international_flight\" =\u003e true,\n    \"frequent_flier_number\" =\u003e \"00000123\",\n    \"class_of_service\" =\u003e \"class\",\n    \"day_of_week_of_flight\" =\u003e 2,\n    \"week_of_year_of_flight\" =\u003e 5,\n    \"airline_code\" =\u003e \"AA\",\n    \"code_share\" =\u003e \"SKYTEAM\",\n    \"decision_manager_travel\" =\u003e array(\n            \"complete_route\" =\u003e \"EZE-LAX:LAX-HND\",\n            \"journey_type\" =\u003e \"one way\",\n            \"departure_date\" =\u003e array(\n                    \"departure_time\" =\u003e  \"2017-05-30T09:00Z\",\n                    \"departure_zone \"=\u003e \"GMT-0300\"\n            )\n    ),\n    \"airline_number_of_passengers\" =\u003e 1\n);\n\n$cs_passenger = array(\n    array(\n        \"email\" =\u003e \"juan@mail.com\",\n        \"first_name\" =\u003e \"Juan\",\n        \"last_name\" =\u003e \"Perez\",\n        \"passport_id\" =\u003e \"412314851231\",\n        \"phone\" =\u003e \"541134356768\",\n        \"passenger_status\" =\u003e \"gol\",\n        \"passenger_type\" =\u003e \"ADT\"\n    )\n);\n\n```\n\nPara incorporar estos datos en el requerimiento inicial, se debe instanciar un objeto de la clase Decidir\\Data\\Cybersource\\Travel de la siguiente manera.\n\n\n```php\n\n$cybersource = new Decidir\\Cybersource\\Travel(\n                    $datos_cs,  // Datos de la operación\n                    $cs_passenger, // Datos de los pasajeros\n  );\n\n$connector-\u003epayment()-\u003esetCybersource($cybersource-\u003egetData());\n\n$data = array(\n      \"site_transaction_id\" =\u003e \"12042017_20\",\n      \"token\" =\u003e \"be211413-757b-487e-bb0c-283d21c0fb6f\",\n      \"user_id\" =\u003e \"usuario\",\n      \"payment_method_id\" =\u003e 1,\n      \"bin\" =\u003e \"450799\",\n      \"amount\" =\u003e 1200,\n      \"currency\" =\u003e \"ARS\",\n      \"installments\" =\u003e 1,\n      \"description\" =\u003e \"\",\n      \"payment_type\" =\u003e \"single\",\n      \"sub_payments\" =\u003e array()\n    );\n\n$response = $connector-\u003epayment()-\u003eExecutePayment($data);\n\n\n```\n\n\n\n[Volver al inicio](#Inicio)\n\n\n\u003ca name=\"tablasreferencia\"\u003e\u003c/a\u003e\n\n## Tablas de Referencia\n\n\n### Códigos de Medios de pago\n\n[Medios de pago disponibles](https://documentacion-ventasonline.payway.com.ar/docs/gateway/3jw3eiapx1jwu-medios-de-pago#medios-de-pago-disponibles)\n\n1. Visa Debito no acepta devoluciones parciales en e-commerce.\n\n[Volver al inicio](#Inicio)\n\n\u003ca name=\"divisasa\"\u003e\u003c/a\u003e\n### Divisas Aceptadas \n\n[Medios de pago con Divisas Aceptadas](https://documentacion-ventasonline.payway.com.ar/docs/gateway/3jw3eiapx1jwu-medios-de-pago#divisas-aceptadas)\n\n| Divisa | Descripción | Código API\n---------|-------------|--------\n| AR$ | Pesos Argentinos | ARS |\n| U$S | Dólares Americanos | USD | \n\n\n[Volver al inicio](#Inicio)\n\n\n\n### Provincias\n\n[Códigos de Provincia para Cybersource](https://documentacion-ventasonline.payway.com.ar/docs/gateway/vwd3zic062ibr-manejo-de-errores-cyber-source#c%c3%b3digos-de-provincias-para-cybersource)\n\n| Provincia | Código |\n|----------|-------------|\n| CABA | C |\n| Buenos Aires | B |\n| Catamarca | K |\n| Chaco | H |\n| Chubut | U |\n| Córdoba | X |\n| Corrientes | W |\n| Entre Ríos | R |\n| Formosa | P |\n| Jujuy | Y |\n| La Pampa | L |\n| La Rioja | F |\n| Mendoza | M |\n| Misiones | N |\n| Neuquén | Q |\n| Río Negro | R |\n| Salta | A |\n| San Juan | J |\n| San Luis | D |\n| Santa Cruz | Z |\n| Santa Fe | S |\n| Santiago del Estero | G |\n| Tierra del Fuego | V |\n| Tucumán | T | \t\n\n[Volver al inicio](#Inicio)\n\n\u003ca name=\"errores\"\u003e\u003c/a\u003e\n## Errores\n\n\u003ca name=\"errorescs\"\u003e\u003c/a\u003e\n### Manejo de Errores Cybersource\nListado de [Manejo de errores por Cybersource](https://documentacion-ventasonline.payway.com.ar/docs/gateway/vwd3zic062ibr-manejo-de-errores-cyber-source)\n\n\u003ca name=\"erroresmarca\"\u003e\u003c/a\u003e\n### Errores de Marca \nListado de [Códigos de Errores de Medios de Pago](https://documentacion-ventasonline.payway.com.ar/docs/gateway/82s1y7wr0hq3k-manejo-de-errores-de-medios-de-pago#c%c3%b3digos-de-errores-del-medio-de-pago)\n\n[Volver al inicio](#Inicio)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayway-ar%2Fsdk-php-ventaonline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpayway-ar%2Fsdk-php-ventaonline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayway-ar%2Fsdk-php-ventaonline/lists"}