Реализация CyberSource в Python
Я пытаюсь реализовать CyberSource´s Microform в Python, но есть проблема с captureContext, который я отправляю на фронтенд. Вот ошибка сообщения:
r {name: 'MicroformError', reason: 'CAPTURE_CONTEXT_INVALID', message: 'You have not supplied a valid capture context.', informationLink: 'https://www.cybersource.com/products/payment_security/secure_acceptance', correlationId: undefined, …} correlationId: undefined details: undefined informationLink: "https://www.cybersource.com/products/payment_security/secure_acceptance" message: "You have not supplied a valid capture context." name: "MicroformError" reason: "CAPTURE_CONTEXT_INVALID"
captureContext, который я отправляю, выглядит примерно так:
{"kty":"RSA",
"use":"enc",
"kid":"08ajMBidgTrHvGJVzpR3ZxrNylkXqVA1",
"n":"i6vpy5CdziPfwAMk6YyQxfLE2xGjA11gRzp1pL_LwIL87gSSsevZgRRVkI_Y2Jv95wT12O0DgumypVeHcGXmW5oR5tBJNhGp61f2qYHhl4PGMXyYFZ5OTgRYfJ2le0OYL4F4eQdqGd25ghq3qJkMvEN-USLyEGsNfeLwGvHsVtlJK9_QnKshcc-2oT2sKSNIkwxs7FH6afHc67WJUCFtqQQARJBX45O47MSlRbpRHAqJkw2zD35l6RDMQpRAKLzbJ9-cmsZpdWAhCTAvaSU2yH-LvVeEvzfDjWPrd6QcPpV_FYHxO1lHE18rmJHFTow6-LURaLQwl1PuG-C7PI2pZw",
"e":"AQAB"}
Я использую следующий код для генерации ключа:
def generate_key(compra, medio_pago):
encryptionType = "RsaOaep"
targetOrigin = "http://localhost:8000"
requestObj = GeneratePublicKeyRequest(
encryption_type = encryptionType,
target_origin = targetOrigin
)
requestObj = del_none(requestObj.__dict__)
requestObj = json.dumps(requestObj)
format = "legacy"
try:
config_obj = PagoCyberSource(medio_pago).get_configuration()
api_instance = KeyGenerationApi(config_obj)
return_data, status, body = api_instance.generate_public_key(format, requestObj)
print("\nAPI RESPONSE CODE : ", status)
print("\nAPI RESPONSE BODY : ", body)
return return_data
except Exception as e:
print("\nException when calling KeyGenerationApi->generate_public_key: %s\n" % e)
А это микроформа и скрипты ({{boton_compra.jwk}} - captureContext):
Я использовал эти образцы в качестве эталона: https://github.com/CyberSource/cybersource-rest-samples-python/tree/master/samples/FlexMicroform. Пожалуйста, скажите мне, если вам нужно что-то еще