Which one? Both?

You're integrating a third-party payment library whose API is incompatible with your application's PaymentProcessor interface. You need to make the library conform to your existing interface without modifying either side. Which pattern applies?

A

Bridge: separate the payment abstraction from its implementation so they vary independently

B

Facade: simplify the payment library by exposing a reduced subset of its functionality

C

Adapter: wrap the third-party library to translate its interface into your PaymentProcessor interface

D

Proxy: create a stand-in that controls access to the payment library