Реализация 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. Пожалуйста, скажите мне, если вам нужно что-то еще

Вернуться на верх