Package: culqi-python-oficial
Culqi PythonNuestra Biblioteca PYTHON oficial, es compatible con la v2.0 del Culqi API, con el cual tendrás la posibilidad de realizar cobros con tarjetas de débito y crédito, Yape, PagoEfectivo, billeteras móviles y Cuotéalo con solo unos simples pasos de configuración.Nuestra biblioteca te da la posibilidad de capturar elstatus_codede la solicitud HTTP que se realiza al API de Culqi, así como elresponseque contiene el cuerpo de la respuesta obtenida.RequisitosPython 2.7+Afiliateaquí.Si vas a realizar pruebas obtén tus llaves desdeaquí, si vas a realizar transacciones reales obtén tus llaves desdeaquí.Recuerda que para obtener tus llaves debes ingresar a tu CulqiPanel > Desarrollo >API Keys.Recuerda que las credenciales son enviadas al correo que registraste en el proceso de afiliación.Para encriptar el payload debes generar un id y llave RSA  ingresando a CulqiPanel > Desarrollo  > RSA KeysInstalaciónEjecuta los siguientes comandos:py-mpipinstallpytest
py-mpipinstallpython-dotenv
py-mpipinstallculqi
py-mpipinstalljsonschema
py-mpipinstallpycryptodomeConfiguracionPara empezar a enviar peticiones al API de Culqi debes configurar tu llave pública (pk), llave privada (sk).
Para habilitar encriptación de payload debes configurar tu rsa_id y rsa_public_key.fromdotenvimportload_dotenvfromculqi2import__version__fromculqi2.clientimportCulqiself.public_key="pk_test_e94078b9b248675d"self.private_key="sk_test_c2267b5b262745f0"self.culqi=Culqi(self.public_key,self.private_key)#ecnrypt variablesself.rsa_public_key="-----BEGIN PUBLIC KEY-----\n"+\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDswQycch0x/7GZ0oFojkWCYv+g\n"+\"r5CyfBKXc3Izq+btIEMCrkDrIsz4Lnl5E3FSD7/htFn1oE84SaDKl5DgbNoev3pM\n"+\"C7MDDgdCFrHODOp7aXwjG8NaiCbiymyBglXyEN28hLvgHpvZmAn6KFo0lMGuKnz8\n"+\"iuTfpBl6HpD6+02SQIDAQAB\n"+\"-----END PUBLIC KEY-----"self.rsa_id="de35e120-e297-4b96-97ef-10a43423ddec"Encriptar payloadPara encriptar el payload necesitas agregar el parámetrosoptionsque contiene tu id y llave RSA.Ejemplooptions={}options["rsa_public_key"]=self.rsa_public_key#"la llave pública RSA"options["rsa_id"]=self.rsa_id# "el id de tu llave"token=self.token.create(data=self.token_data,**options)EjemplosCrear Tokentoken=self.token.create(data=self.token_data)Crear Cargocharge=self.charge.create(data=self.charge_data)Crear Planplan=self.plan.create(data=self.plan_data)Crear Customercustomer=self.customer.create(data=self.customer_data)Actualizar Customerupdated_customer=self.customer.update(id_=created_customer["data"]["id"],data=metadatada)Obtener Customerretrieved_customer=self.customer.read(created_customer["data"]["id"])Crear Cardcard=self.card.create(data=self.card_data)Crear Suscripciónsubscription=self.subscription.create(data=self.subscription_data)Crear Reembolsorefund=self.refund.create(data=self.refund_data)PruebasEn la caperta/testecontraras ejemplo para crear un token, charge, plan, órdenes, card, suscripciones, etc.Recuerda que si quieres probar tu integración, puedes utilizar nuestrastarjetas de prueba.Ejemplo Prueba Token@pytest.mark.vcr()deftest_token_create(self):token=self.token.create(data=self.token_data)print(token)asserttoken["data"]["object"]=="token"Ejemplo Prueba Cargo@propertydefcharge_data(self):# pylint: disable=no-membertoken_data=deepcopy(Data.TOKEN)token=self.culqi.token.create(data=token_data)print(token)charge_data=deepcopy(Data.CHARGE)charge_data["source_id"]=token["data"]["id"]returncharge_data@pytest.mark.vcr()deftest_charge_create(self):charge=self.charge.create(data=self.charge_data)print(charge)assertcharge["data"]["object"]=="charge"DocumentaciónReferencia de APIDemo Checkout V4 + Culqi 3DSWikiChangelogTodos los cambios en las versiones de esta biblioteca están listados enCHANGELOG.md.AutorTeam CulqiLicenciaEl código fuente de culqi-python está distribuido bajo MIT License, revisar el archivo LICENSE.